아니었다. 어떤 정확한 필드가 문제를 일으키는 지 확인하는 방법이 있습니까?업데이트는 올바른 형식
'/'응용 프로그램의 서버 오류입니다.
입력 문자열의 형식이 올바르지 않습니다.
설명 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.
예외 정보 : System.FormatException : 입력 문자열의 형식이 올바르지 않습니다.
소스 오류 :
라인 7381 : Global.System.ComponentModel.Design.HelpKeywordAttribute ("vs.data.TableAdapter")> _ 라인 7382 : 공공 과부하 재정의 기능 업데이트 (ByVal의 DataRow를 같이 Global.System .Data.DataRow) 정수로 라인 7383 : 반환 Me.Adapter.Update (뉴 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 (문자열 str을, NumberStyles 옵션 NumberBuffer & 번호,하는 NumberFormatInfo 정보, 부울 parseDecimal) 14365689 System.Data.ParseInt32 (String s, NumberStyles 스타일, NumberFormatInfo 정보) +305 System.Convert.ChangeType (개체 값, 형식 변환 유형, IFormatProvider 공급자) +859 System.Data.SqlClient.SqlParameter.CoerceValue (개체 값, MetaType destinationType, Boolean & coercedToDataFeed, 부울 & typeChanged, 부울 allowStreaming) + 1,809
[FormatException을 :. INT32에 문자열에서 매개 변수 값을 변환하는 데 실패] System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors (RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo [] batchCommands, INT32 commandCount) 2,290,668 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) C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ root \ aebf90fc \ 865092c3 \ App_Code.6h2d5go에있는 +319 adsTableAdapters.adsTableAdapter.Update (DataRow dataRow) C : \ Dropbox \ inetpub \ zz \ editad.aspx.vb의 editad.lbSaveLocation_Click (Object sender, EventArgs e) : 765 System.Web.UI.WebControls.LinkButton.RaisePostBackEvent (String 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
아, 고마워요. 하지만 그렇게하기 전에 일반적으로 디버그 할 수 있어야합니다. 현재로서는 작동하지 않습니다. 먼저 나는 그것을 고친 다음에 다시 이것을 보았다. 그렇게하고 싶다면 다른 문제를 살펴보십시오. http://stackoverflow.com/questions/13406936/asp-net-debugging-redirects-to-invalid-url – Flo
특히 nulls. 해당 필드에 대한 명령 매개 변수는 null을 전달하고 datetime이 .net에서 sql으로 전달 될 때 문자열로 처리 한 다음 SQL Server에서 다시 가져 오는 경우 문제가 발생할 수 있습니다. –
@FrankThomas : 이상한 일은 업데이트를하기 전에 업데이트 할 레코드를 검색하고 그 데이터 테이블의 행에로드합니다. 그래서 어떤 열에 몇 가지 제약 조건이 있다면 추측하겠습니다. 오류가 이미 레코드를 검색하는 순간에 throw됩니다. 내 업데이트 명령이 자동으로 생성되고 btw가 어떤 날짜 열에 AllowDbNull이 true로 설정되었는지 확인했지만 그 중 아무 것도 가지고 있지 않습니다. – Flo