2016-01-16 51 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

相关问题