C #: Исключение «Входная строка была не в правильном формате.» после Row.Delete в DataSet - PullRequest
1 голос
/ 19 января 2009

Я получаю странное исключение при попытке обновить DataTable после пометки строки для удаления. Похоже, он проверяет данные в строке, которую я пытаюсь удалить. Мне удалось успешно сохранить ту же строку, почему я не могу удалить ее?

Использование C # в VS 2008 и SQL Server CE.

Основные биты (я надеюсь) моего кода:

var listDataTable = new booksDataSet.ListDataTable();
this.tableAdapterManager1.ListTableAdapter.Fill(listDataTable);
listDataTable.Rows[0].Delete();
this.tableAdapterManager1.ListTableAdapter.Update(listDataTable);
booksDataSet1.List.AcceptChanges(); // exception here

Исключение составляют: System.FormatException не было обработано Сообщение = "@ p2: foo - входная строка была в неправильном формате." Источник = "System.Data"

Я сократил это до очень простой таблицы: Id (PK, int, not null) Имя (nvarchar (100), не нуль) Примечания (nvarchar (4000), ноль)

Данные в строке, которую я пытаюсь удалить (первая строка), это Name = "foo", так что это правильная строка, но почему все равно, какие данные перед удалением строки?

Ответы [ 2 ]

1 голос
/ 19 января 2009

Вам необходимо выполнить трассировку в приложении (попробуйте запустить его на локальной копии SQL Server и запустить «Профилировщик»); Я предполагаю, что когда SQL-запрос попадает на ваш SQL-сервер, его часть не в правильном формате. Бьюсь об заклад, вы увидите проблему, когда вы запустите трассировку.

0 голосов
/ 15 июня 2010

Я получаю такой же ответ. Если я свяжусь с {0: c}, при каждом удалении произойдет сбой. Думая, что это был $ Я попробовал {0: N2} такой же ответ. Удалить его, удаляет просто отлично.

...