2013-10-11 4 views
0

DataGridViewDataGridView_Manage_Calculations으로 변경 한 다음 Access 데이터베이스를 업데이트 한 다음 Button_Update이라는 Button을 클릭해야합니다. Syntax error in INSERT INTO statement.DataGridView에서 Access 데이터베이스 업데이트 변경

내가 잘못 뭐하는 거지 :이 오류가

Dim dtManage As New DataTable 
Dim ManageAdapter As OleDbDataAdapter 
Dim Bsource As New BindingSource 

Public Sub Show_Panel_Manage_Calculations() 
    Panel_Manage_Calculations.Show() 

    ManageAdapter = New OleDbDataAdapter("Select Calculation, [Interval], Formula From " & tblName & "", con) 
    dtManage.Clear() 
    ManageAdapter.Fill(dtManage) 
    Bsource.DataSource = dtManage 
    DataGridView_Manage_Calculations.DataSource = Bsource 

End Sub 

Private Sub Button_Update_Click(sender As Object, e As EventArgs) Handles Button_Update.Click 
    Dim ObjComander As New OleDbCommandBuilder(ManageAdapter) 
    ManageAdapter.Update(dtManage) 
End Sub 

: 여기

내가 지금까지 가지고있는 코드는?

오류 메시지에 대한 귀하의 정보를 보면 추가 정보

Public Sub createTable_Criteria() 
    Dim cmd As New OleDb.OleDbCommand("CREATE TABLE " & tblName & "(" & "Calculation Text(10) NOT NULL," & "[Interval] Text NOT NULL," & "Formula Text," & "Tier_Juncture_1 Integer," & "Tier_Juncture_2 Integer," & "Tier_Juncture_3 Integer," & "Weight Integer, CONSTRAINT pk_Calculation PRIMARY KEY (Calculation, [Interval]));", con) 
    cmd.ExecuteNonQuery() 
End Sub 
+1

당신은 UPDATE com에 중단 점을 넣으려고 할 수 있습니다 어댑터 내부의 InsertCommand.CommandText 속성을 살펴보십시오. 그 텍스트를 보여줄 수 있습니까? – Steve

+0

@ 스티브 내가 당신에게 보여주고있는 것이 무엇인지 잘 모르겠습니다. – gromit1

+1

http://www.homeandlearn.co.uk/NET/nets5p6.html – Steve

답변

1

당신의 SELECT 쿼리가 SELECT 문에서 테이블에 대한 기본 키를 반환하지 않는 것으로 보인다. 이 경우 OleDbCommandBuilder는 필요한 INSERT 명령을 작성하지 않습니다.

당신은 두 가지 옵션이 있습니다

  • 돌아 가기 테이블의 기본 키는
  • 가/자신의 INSERT/UPDATE를 만들기

내가 모르는 어댑터에 대한 명령을 삭제 선택 테이블의 구조 (dinamically 구성된 select 주어집니다)하지만 가장 좋은 방법은 select 문에서 기본 키를 반환하는 것입니다

+0

소리가 좋습니다. select 문에서 기본 키를 정확히 반환하려면 어떻게해야합니까? – gromit1

+1

데이터베이스에서 테이블을 확인하고 해당 필드를 select 문에 추가하십시오. 예를 들어 테이블에 자 동 번호 필드가있는 경우 아마 기본 키이기도합니다. (테이블 디자인의 작은 키). 해당 필드를 선택 항목에 추가하십시오. – Steve

+0

무슨 뜻인지 알 겠어. 내 기본 키는 'Calculation'과 '[Interval]'필드로 구성됩니다. 이것들은 이미 select 문에 반환됩니다. 원래 게시물에 테이블을 만들 때 사용하는 코드를 추가했습니다. – gromit1

관련 문제