2016-01-16 49 views
0

當我點擊按鈕,只有我的第一個查詢得到執行。第二個insert into afspraken (behandeling)不執行。任何人都知道爲什麼?不執行第二個查詢?

private void button1_Click(object sender, EventArgs e) 
{ 
    string insertStatement = "INSERT INTO Afspraken (Afspraakdatum) VALUES ('" + textBox23.Text + "');"; 
    string insertStatement1 = "INSERT INTO Afspraken (Behandeling) VALUES ('" + textBox21.Text + "');"; 
    OleDbCommand insertCommand = new OleDbCommand(insertStatement, connection); 
    OleDbCommand insertCommand1 = new OleDbCommand(insertStatement1, connection); 
    connection.Open(); 
    try 
    { 
     int count = insertCommand.ExecuteNonQuery(); 
    } 
    catch (OleDbException ex) 
    { 

    } 
    finally 
    { 
     connection.Close(); 
     textBox23.Clear(); 
     textBox21.Clear(); 
     MessageBox.Show("Uw afspraak is gemaakt!"); 
    } 
} 

回答

1

正如我在另一個答案您的意見看到,我相信這個解決方案將工作最適合你:

string insertStatement = "INSERT INTO Afspraken (Afspraakdatum, Behandeling) VALUES ('" + textBox23.Text + "', '" + textBox21.Text + "');"); 
OleDbCommand insertCommand = new OleDbCommand(insertStatement, connection); 

但請記住,這個代碼是不安全的,你應該使用預處理語句來代替。

+0

謝謝你的回答,但是你的建議代碼會導致以下錯誤:Syntax查詢表達式「30-01-2016,few;」中的錯誤(缺少運算符) 請注意,「30-01-2016」和「few」是我的文本框中的值, – Needsomehelp

+1

我改變了我的答案,在第一個值後缺少一個撇號,現在檢查它 – Phiter

+0

是的,它的工作原理,欣賞它! – Needsomehelp

2

您正在創建insertCommand1,但您從未執行過它。您只執行insertCommand(在try塊內的單行內)。

+0

謝謝。忽略它。但是現在發生了什麼:它們被放在acces數據庫文件中。命令和命令1需要放在我的數據庫的同一行。喜歡:日期 - 治療 – Needsomehelp

+1

不客氣! 如果成功,INSERT總是創建新行。如果你需要這些是相同的行,你應該使用如下語法: INSERT Table(Column1,Column2)VALUES(value1,value2)' – sehrgut

相關問題