Diskuze: Uložení float do MS-SQL
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
float v DB není float v C# .. v C# je to tuším double ...
https://docs.microsoft.com/…ype-mappings
Ještě jedna věc,
pro správné vládání hodnot parametrů používej:
SqlCommand cmdZapis = new SqlCommand("INSERT INTO " + NazevTabulky + " (CPU) VALUES(@cpu)", conMonitoring);
cmdZapis.Parameters.AddWithValue("@cpu", CPU);
Datovému typu float v .NET odpovídá real v MSSQL.
Příkaz
SqlCommand cmdZapis = new SqlCommand("INSERT INTO " + NazevTabulky + " (CPU) VALUES(" + CPU + ")", conMonitoring);
provede u objektu CPU metodu ToString() s oddělovačem des. míst podle
nastaveného národního prostředí. Jestliže je to čárka, tak výsledkem
jsou 2 čísla oddělené čárkou, což v SQL znamená 2 hodnoty.
Řešení je popsáno v předchozím příspěvku. Ještě to lze
zpřehlednit:
SqlCommand cmdZapis = new SqlCommand($"INSERT INTO {NazevTabulky} (CPU) VALUES(@cpu)", conMonitoring);
cmdZapis.Parameters.AddWithValue("@cpu", CPU);
Zobrazeno 5 zpráv z 5.