2016-10-01 3 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

프로그램을 마우스 오른쪽 버튼으로 클릭하고 관리자를 실행하여 문제를 해결 ??? 디버그 폴더에서 프로그램을 실행하십시오. –

+0

OK, 고맙습니다. – Gustav

관련 문제