以下更新查询有问题。
string sql = "update Car set plate = '" + textBox2.Text + "' , color='"
+ textBox3.Text + "' , model='"+textBox5.Text+ "' , year= "
+ textBox4.Text;
sql += " where carid= " + textBox1.Text;
int res = CarDatabase.executeOthers(sql);
if (res > 0)
{
string sql2 = "select * from Car";
DataTable dt = CarDatabase.executeSelect(sql2);
mainframe.DataGridView1.DataSource = dt;
MessageBox.Show("Updated Successfully");
}
实际上,当我在查询中添加年份时遇到同样的问题。为什么? :S
答案 0 :(得分:3)
简单的答案是,你的一个TextBox可能有内容破坏了它。更好的答案是永远不要以这种方式编写查询,因为它容易受到SQL注入攻击。您需要了解如何进行参数化查询。
首先阅读MSDN上的How to: Execute a Parameterized Query文章。