我有這樣的代碼:SqlDataAdapter的更新錯誤原因
DataTable dataTable;
// filling table with data from db, closing connection
// modifying table
// trying to save it
// "some_table" is the same table data was loaded from
var connection = new SqlConnection(some_connection_string);
var dataAdapter = new SqlDataAdapter("select * from some_table", connection);
var cbMar = new SqlCommandBuilder(dataAdapter);
SqlTransaction transaction = null;
dataAdapter.InsertCommand = cbMar.GetInsertCommand();
dataAdapter.UpdateCommand = cbMar.GetUpdateCommand(true);
dataAdapter.DeleteCommand = cbMar.GetDeleteCommand(true);
transaction = connection.BeginTransaction();
dataAdapter.InsertCommand.Transaction = transaction;
dataAdapter.UpdateCommand.Transaction = transaction;
dataAdapter.DeleteCommand.Transaction = transaction;
dataAdapter.Update(dataTable);
在這裏,在Update
,我得到一個異常:
未能參數值從String到的Int32轉換。
System.Exception的{} System.FormatException的InnerException:
輸入字符串的不正確的格式。
System.FormatException
據我瞭解,那是因爲我已經設置字符串值整數數據庫列。
問題:如何找到究竟哪個列和行導致此異常?
我能夠爲System.Data.dll生成.pdb文件,並且可以進入它,但是當我嘗試從System.Data.dll添加任何變量來觀看時,我收到一個錯誤,說它是優化出來。據我所知,System.Data.dll沒有調試版本。
應該包含一個整數的DataGridCell之一的值不是整數 – Steve
是的,我不知道。這裏的問題是,在這張表中我有幾千行和大約150列。很難全部檢查。有什麼方法可以自動找出錯誤來源嗎? – ilya