当我打电话
TA.Update(row)
我收到以下错误,但我不知道如何调试它。有没有办法确定导致问题的确切字段?
“/”应用程序中的服务器错误。
输入字符串的格式不正确。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.FormatException:输入字符串的格式不正确。
源错误:
第 7381 行:Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _ 第 7382 行:公共重载可重写函数更新(ByVal dataRow As Global.System.Data.DataRow)作为整数第 7383 行:返回给我.Adapter.Update(New Global.System.Data.DataRow() {dataRow}) 第 7384 行:结束函数第 7385 行:
源文件:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\aebf90fc\865092c3\App_Code.6h2d5goz.23.vb 行:7383
堆栈跟踪:
[FormatException: 输入字符串格式不正确。] System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +14365689 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info ) +305 System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +859 System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType, Boolean& coercedToDataFeed, Boolean& typeChanged, Boolean allowStreaming) +1809
[FormatException:无法将参数值从字符串转换为 Int32。] System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount) +2290668 System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount) +75 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping) +3479 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows) +319 adsTableAdapters C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\aebf90fc\865092c3\App_Code.6h2d5goz.23.vb:7383 中的 .adsTableAdapter.Update(DataRow dataRow) editad.lbSaveLocation_Click(Object发件人,EventArgs e) 在 C:\Dropbox\inetpub\zz\editad.aspx.vb:765 System.Web 中。UI.WebControls.LinkButton.RaisePostBackEvent(字符串 eventArgument)+153 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+3804
尝试像这样添加对错误的检查,但没有发生错误:
Try
If TA.Update(row) = 1 Then
End If
Catch ex As Exception
Dim arr As Array = row.Table.GetErrors()
'arr.length=1 here
If arr.Length > 0 Then
lblStatus.Text = row.Table.GetErrors(0).ToString
'the value of row.Table.GetErrors(0).ToString is "ads+adsRow"
End If
End Try