Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Базы данных под .NET > Не работает вставка записи в БД MSSQL |
Автор: Yagmort 24.11.2010, 17:46 | ||
выпадает ошибка не могу найти ошибки //System.FormatException: Входная строка имела неверный формат. "INSERT INTO [kirpich].[dbo].[T_DO] "+ // жалуется на эту строку |
Автор: MasterOfCode 24.11.2010, 18:01 | ||
Yagmort, Вижу несколько слабых мест. Первое: В этой строке Convert.ToDouble(Textbox3.Text) и ей подобных, может возникнуть при вставке ошибка с разностью Decimal Separator на компьютере котором выполняется приложение и в настройках БД Второе: Опять же на эти строки, если разделитель запятая, то необходимо число заключать в апострофы. Чтоб БД поняла ваш запрос. Третье: Если значение DropDownList1.Text, строка, опять же, необходимо заключить в апострофы. И так по всем остальным значениям. Четвертое: Не понимаю, что вы хотите сделать выполняя этот блок если в переменной zapr у вас INSERT COMMAND:
Во первых, сначало необходимо открыть коннект к БД, а вы его открываете после того, как пытаетесь выполнить заполнение датасета. Во вторых для заполнения датасета нужно использовать обычный select В третьих, если все же вам необходимо заполнять значения в БД, то для этого датасет не используют, достаточно сформировать инсерт в SqlCommand и сделать ExecuteNonQuery хотя бы. Для начала откройте книжку и почитайте. Либо зайдите на MSDN, там множество экзамплов с которых вам есть чему поучится. |
Автор: Yagmort 24.11.2010, 18:29 | ||||
Да но я же перевожу из текста в Double, а в MSSQL сервере целые числа и числа с плавающей точкой можно не заключать в апострофы... И он жалуется на 1 строку... т.е. неправильный формат ((( как мне надо тогда отослать запрос, если он не работает у меня ? Есть правильный вариант ? |
Автор: HellMasterHaiL 24.11.2010, 22:35 | ||
Сформированную строку запроса фстудию... Есть подозрение на
з.ы. если не ошибаюсь, открывть и закрывать коннекшен вручную не нужно, датасет это должен делать сам. |
Автор: Yagmort 24.11.2010, 23:54 | ||||
строку выше написал а сформулированную он мне не выдает т.к. не выполняет до конца запрос... |
Автор: Yagmort 25.11.2010, 12:23 | ||||||||
Ошибка при преобразовании типа данных varchar к float.
а если вот так, то Входная строка имела неверный формат. Я сделал через функцию Replace помогло но все равно хотелось бы по другому |