我在运行时在数据库中插入了一行,如果执行成功,它应该显示正消息,如果没有执行,它应该显示负消息。我只做了积极的情况,我喜欢把负面消息作为好。请帮帮我们
SqlCommand sc = new SqlCommand("insert into Master Values('" + textBox1.Text + "'," + textBox2.Text + "," + textBox3.Text + ",'" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "','" + textBox8.Text + "','" + textBox9.Text + "');");
sc.Connection = con;
int o;
o = sc.ExecuteNonQuery();
MessageBox.Show("saved");
答案 0 :(得分:3)
您需要检查一些事项以确定查询的“成功”。具体做法是:
第一个由异常处理处理。例如:
try
{
...
o = sc.ExecuteNonQuery();
MessageBox.Show("saved");
}
catch (SqlException e)
{
// there was an error from the database, handle it here
}
第二个可以通过o
中存储的返回值进行检查。 (顺便说一句,这是非常非直观的变量名。)类似于:
if (o < 1)
{
// no rows were updated, handle that condition here
}
或者,相反,取决于您的业务逻辑:
if (o > 1)
{
// *multiple* rows were updated, is that what you wanted?
}
附注:请注意,您的代码全开至SQL injection attacks。您需要使用parameterized queries来防止这种情况发生。