2016-10-01 133 views
0

我無法將我的數據插入到我的Microsoft Access數據庫中。這下面是我的代碼:C#:無法在我的Microsoft Access數據庫中插入數據

  roomTableAdapter.Connection.Open(); 
      string s = "INSERT INTO `room` ([number], [priceroom]) VALUES (@param1,@param2)"; 
      System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(s, roomTableAdapter.Connection); 
      cmd.Parameters.AddWithValue("@param1", textBoxX4.Text); 
      cmd.Parameters.AddWithValue("@param2", "4000"); 
      roomTableAdapter.Adapter.InsertCommand = cmd; 
      roomTableAdapter.Adapter.InsertCommand.ExecuteNonQuery(); 

      roomTableAdapter.Adapter.Fill(this.database3DataSet5); 
      roomTableAdapter.Update(database3DataSet5.room); 



      dataGridViewX1.Update(); 
      dataGridViewX1.Refresh(); 
      roomTableAdapter.Connection.Close(); 

回答

1
roomTableAdapter.Connection.Open(); 
string s = string.Format("INSERT INTO `room` ([number], [priceroom]) VALUES (@param1,@param2);"); 
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(s, roomTableAdapter.Connection); 
cmd.Parameters.AddWithValue("@param1", textBoxX4.Text); 
cmd.Parameters.AddWithValue("@param2", "4000"); 

roomTableAdapter.Adapter.InsertCommand = cmd; 
roomTableAdapter.Adapter.InsertCommand.ExecuteNonQuery(); 
roomTableAdapter.Adapter.Fill(this.database3DataSet5); 
roomTableAdapter.Update(database3DataSet5.room); 

dataGridViewX1.Update(); 
dataGridViewX1.Refresh(); 
roomTableAdapter.Connection.Close(); 
+0

您好,它仍然不能。在我的新代碼有什麼錯 –

+0

這兩個領域似乎插入數據 - 從他們的名字 - 是數字,而不是文字。 – Gustav

+0

我定義了兩個字段「短文本」,但仍然無法更新,但GridView更新?我應該與管理員編碼認證? –

1

應該有訪問SQL沒有 「滴答」。因此:

string s = string.Format("INSERT INTO room ([number], [priceroom]) VALUES (?,?);"); 
+0

你好,它仍然不能插入數據。我的新代碼有什麼不對 –

+0

我通過右鍵單擊程序修復問題,並運行管理員?並在其運行的Debug文件夾中運行程序 –

+0

好的,謝謝,解釋。 – Gustav