2009-03-31 2 views
0

는 저장 버튼에,이 코드에 도달 ... 데이터 어댑터, DataTable에 대해 많이 읽어액세스 데이터베이스에 레코드 추가 중이 코드의 오류는 어디에 있습니까?

'insert new row 
ds.Tables("Employees").Rows.Add(ENumTxt.Text, ENameTxt.Text, EPosTxt.Text, 
    EAgeTxt.Text, ESalTxt.Text, EPhonTxt.Text, EAdrsTxt.Text) 
'save changes 
ds.AcceptChanges() 
Try 
    If ds.HasChanges Then 
    Dim AffectedDS As DataSet = ds.GetChanges(DataRowState.Added) 
    'im ComBuilder As New OleDb.OleDbCommandBuilder(da) 
    da.InsertCommand = ComBuilder.GetInsertCommand 
    da.Update(AffectedDS, "Employees") 
    End If 
Catch e1 As OleDb.OleDbException 
    MessageBox.Show(e1.Message) 
End Try 

==================== ==========================================================================================================

런타임에서
Dim cb As New OleDb.OleDbCommandBuilder(da) 
' Insert a new record in the DataSet 
Dim r As DataRow = ds.Tables("Employees").NewRow() 
r("EID") = ENumTxt.Text 
r("EName") = ENameTxt.Text 
r("Age") = EAgeTxt.Text 
r("Salary") = ESalTxt.Text 
r("EPhone") = EPhonTxt.Text 
r("EAddress") = EAdrsTxt.Text 
ds.Tables("Employees").Rows.Add(r) 

' Insert the record even in the database 
da.Update(ds.Tables("Employees").GetChanges()) 
' Align in-memory data with the data source ones 
ds.AcceptChanges() 

==========

, 내가 두 경우 모두

에 대해 동일한 오류 메시지를 받았습니다 : ========= 은 그 때 나는이 시도
"Syntax error in INSERT INTO statement" 

이 오류를 해결할 수있는 몇 가지 지침을 알려주십시오.

+0

코드를 다시 포맷하고 문제를 명확하게하십시오. 우리가 당신을 도울 수 있도록 도와주세요 :) –

답변

0

THER 오류가

어떻게 데이터 어댑터의 '에 InsertCommand'에 의해 지정 된 INSERT 문이 생겼 ... 오류가 말한대로, 당신의 INSERT 문에?

+0

그것에 대해 생각했지만 도달 할 수 없었습니다. 어떻게 INSERT 문을 검사 할 수 있습니까? – mozon

0

유일한 고려 사항은 Commandbuilder를 사용하는 경우 테이블에 기본 키가 정의되어 있습니까?

+0

예, EID가 기본 키입니다. – mozon