插入查询在c#窗口中无法正常工作

时间:2016-03-05 18:44:39

标签: c# window

我正在创建一个窗口应用程序,并且我从New Item菜单中选择了一个数据库。我的插入查询未执行:

con.Open();
cmd = new SqlCommand("insert into record values('" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "','" + textBox8.Text + "','" + textBox9.Text + "','" + textBox10.Text + "','" + textBox11.Text + "','"+textBox13.Text+"','"+textBox12.Text+"')", con);
cmd.ExecuteNonQuery();
con.Close();

2 个答案:

答案 0 :(得分:0)

在Sql中,当您的Insert查询不包含列名时,则值必须按正确的顺序排列。也许这就是失败的原因。您没有向我们提供错误,所以我不知道。

你正在尝试这个:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

我建议尝试这个:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

答案 1 :(得分:0)

如果可以,您应该使用参数并包含您的列名称(如Andreas建议的那样)。一个例子是......

cmd = new SqlCommand("INSERT INTO record (column1, column2, column3,...)
VALUES (@data1, @data2, @data3,...)", con);
cmd.Parameters.AddWithValue("@data1", textbox2.Text);
cmd.Parameters.AddWithValue("@data2", textbox3.Text);
cmd.Parameters.AddWithValue("@data3", textbox4.Text);
cmd.Parameters.AddWithValue("...", ...);

con.Open();
cmd.ExecuteNonQuery();
con.Close();