2012-11-29 92 views
0

爲什麼我有這個錯誤?錯誤消息是:Syntax error in INSERT INTO statement.更新方法上的OleDbException錯誤

我想向我的數據庫添加一條記錄,但它不起作用。 問題在哪裏?

的代碼是:

using (OleDbConnection connection = new OleDbConnection(connectionString)) 
     { 
      OleDbDataAdapter DbDataAdabter = new OleDbDataAdapter(); 
      DbDataAdabter.SelectCommand = new OleDbCommand("SELECT * FROM [Phone-Book]", connection); 

      OleDbCommandBuilder cb = new OleDbCommandBuilder(DbDataAdabter); 
      connection.Open(); 
      DataRow dataRow = myDataset.Tables["salam"].NewRow(); 

      dataRow[1] = textBox2.Text; 
      dataRow[2] = textBox3.Text; 
      dataRow[3] = textBox4.Text; 
      dataRow[4] = textBox5.Text; 

      dataRow.EndEdit(); 
      myDataset.Tables["salam"].Rows.Add(dataRow); 

      DbDataAdabter.Update(myDataset , "salam"); 

      connection.Close(); 
      connection.Dispose(); 
     } 
    } 
+0

您需要向我們展示在您的DataAdapter中對INSERT語句的查詢。 –

+0

你能告訴我你的表結構嗎? – sajanyamaha

+0

對於延遲感到抱歉。 @sajanyamaha: 數據行[0]:自動編號 數據行[1]:文本 [2]:文本 [3]:數 [4]:數 –

回答

0

使用DbDataAdabter.Update(),你必須非常小心表,即數據類型,如果它是在DB一個int然後將其轉換,然後再插入像:

dataRow[1]=(int) dataRow[1]+10; 

此外,檢查提供的所有值,這裏我沒有看到dataRow [0]提供任何地方,或者它是一個自動ID字段。