2010-06-13 13 views
0

Visual C# 프로젝트가 있으며 단추를 누를 때 MS Access 데이터베이스에 데이터를 삽입하려고합니다. 여기 코드는 다음과 같습니다데이터가 MS Access 데이터베이스에 저장되지 않았습니다.

private void button1_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       OleDbDataAdapter adapter=new OleDbDataAdapter(); 
       adapter.InsertCommand = new OleDbCommand(); 
       adapter.InsertCommand.CommandText = 
        "insert into Candidati values ('" + maskedTextBox1.Text.Trim() + "','" + textBox1.Text.Trim() + "', '" + textBox2.Text.Trim() + "', '" + textBox3.Text.Trim() + "','" + Convert.ToDouble(maskedTextBox2.Text) + "','" + Convert.ToDouble(maskedTextBox3.Text) + "')"; 
       con.Open(); 
       adapter.InsertCommand.Connection = con; 
       adapter.InsertCommand.ExecuteNonQuery(); 
       con.Close(); 
       MessageBox.Show("Inregistrare adaugata cu succes!"); 
       maskedTextBox1.Text = null; 
       maskedTextBox2.Text = null; 
       maskedTextBox3.Text = null; 
       textBox1.Text = null; 
       textBox2.Text = null; 
       textBox3.Text = null; 
       maskedTextBox1.Focus(); 
      } 
      catch (AdmitereException exc) 
      { 
       MessageBox.Show("A aparut o exceptie: "+exc.Message, "Eroare!", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      } 
     } 

연결 문자열은 다음과 같습니다

AddCandidati
private static string connectionString; 
     OleDbConnection con; 
     public AddCandidati() 
     { 
      connectionString = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=Admitere.mdb"; 
      con = new OleDbConnection(connectionString); 
      InitializeComponent(); 
     } 

는 형태입니다. 데이터가 데이터베이스에 저장되지 않았습니다. 그 이유는 무엇입니까? 프로젝트 폴더에 .mdb 파일이 있습니다. 내가 뭘 잘못하고있어? 내가 버튼을 눌렀을 때 어떤 예외도 없었어.

+0

삽입 명령의 문자열을 가져 와서 액세스 내에서 직접 실행하여 쿼리가 유효한지 확인하십시오. – Sijin

+0

유효하지 않은 쿼리는 유효합니다. catch 블록에서 예외가 발생해야합니다. – qwerty

답변

-1

삽입 명령이 잘못되었습니다. 먼저 열의 이름을 지정해야하며 그런 다음 각 열의 값을 제공해야합니다.

INSERT INTO tablename (column1, column2, column3) VALUES ('value1', 'value2', 'value3') 
+0

아니요, 먼저 열을 지정할 필요가 없습니다. connectionString = "Provider = Microsoft.JET.OLEDB.4.0; Data Source = D : \\ Admitere.mdb"로 변경되었습니다. (또한 데이터베이스를 D : \\에 복사하고) 이제 작업했습니다. – qwerty

+0

@qwerty 당신이 문제를 해결했다는 말입니까? 그렇다면 대답하고 표시하거나 삭제하십시오. – Jay

관련 문제