Member 12592153 Ответов: 1

Как получить десятичные значения из текстового поля и сохранить их в SQL server


у меня есть текстовое поле в форме win
в котором пользователь дает ввод
я не уверен, в каком формате пользователь вводит значение типа (либо 10, либо 10.0, либо 10.00)
я сохраняю это значение в базе данных sql server
и хотите, чтобы это значение было в формате (10.00) либо 10, либо 10.0, либо 10.00)
тип данных столбца sql-float

когда я увидел в таблицу SQL значение я видел, как 10 или 10.0 или 10.00 пользователя тип

но я хочу, чтобы это значение было равно 10.00, когда пользователь вводит 10 или 10.0

как я могу справиться с этой ситуацией

может ли кто-нибудь объяснить шаг за шагом ?

Что я уже пробовал:

используя (sqlconnection с соед = новый объект sqlconnection(кон))
{
используя (команда sqlcommand cmd и = новая команда sqlcommand("usp_weightinsertdetails", соед))
{
cmd. CommandType = CommandType.Хранимая процедура;

УМК.Параметры.AddWithValue ("@Date", dateTimePicker1. Value);
УМК.Параметры.AddWithValue ("@ProductName", textBox1. Text);
УМК.Параметры.AddWithValue("ProductPieces", инт.Синтаксический анализ(поле textbox2.Текст));

вес поплавка, ПК, avr;
вес = поплавок.Parse(textBox3. Text.tostring("0.00"));
pc = float.Синтаксический анализ(поле textbox2.Текст);
avr = вес / шт;

УМК.Параметры.AddWithValue ("@ProductWeight", weight. tostring ("0.00"));
УМК.Параметры.AddWithValue ("@AveragePieceWeight", avr. tostring ("0.00"));

Коннектикут.Открыть();
УМК.Метод executenonquery();

Karthik_Mahalingam

что такое тип столбца в таблице sql

синтаксическая ошибка
вес = поплавок.Parse(textBox3. Text);

1 Ответов

Рейтинг:
12

OriginalGriff

Во-первых, преобразуйте пользовательский ввод в число:

double userInput;
if (!double.TryParse(myTextBox.Text, out userInput))
   {
   // Report a problem with what he typed.
   ...
   return;
   }
Затем передайте значение в качестве параметра, как и вы, но используя userInput вместо содержимого текстового поля.
одна строка находилась за пределами кодового блока.[/редактировать]


Member 12592153

можете ли вы объяснить это более подробно ?

как хранить значение в sql ?

OriginalGriff

Какие еще детали вам нужны? У вас уже есть код для правильного хранения значений в SQL...

Member 12592153

как передать значение ?
например, "@ProductWeight", userInput. tostring ("0.00")
или "@ProductWeight", userInput ?

я совершенно сбит с толку
я новичок так что простите меня за то что я прошу объяснений :)

OriginalGriff

Просто

УМК.Параметры.AddWithValue ("@ProductWeight", userInput);

Всегда передавайте это фактическое значение SQL через параметр, никогда не преобразуйте его сначала в строку! Если вы преобразуете его, что-то должно преобразовать его обратно, и именно тогда проблема начинает закрадываться обратно. Поэтому удалите ToString из всех ваших параметров.
И помните: C# чувствителен к регистру, поэтому ToString-это не то же самое, что tostring - первое правильно, второе-ошибка компилятора!

Member 12592153

спасибо за помощь
ошибка заключается в том, что данные SQL solve pplus теперь снова отображаются 10.00 thanx

OriginalGriff

Пожалуйста!
Просто не забудьте всегда использовать TryParse, чтобы проверить, что пользователь набрал правильно, а затем использовать преобразованное значение с этого момента. Вы просто не можете доверять пользователям печатать точно (или мне, если уж на то пошло! :смеяться: )