C#修改数据库数据,输入数据正常的时候正常执行,数据有误运行得与我预想的不一样,代码如下,求大神解答

SqlConnection sims_con10 = new SqlConnection("Server=127.0.0.1;Database=SIMS;uid=sa;pwd=soraSR");
sims_con10.Open();
SqlCommand sims_cmd10 = new SqlCommand();
sims_cmd10.Connection = sims_con10;
try
{
sims_cmd10.CommandText = "update cousel set Grade='" + textBox3.Text + "' where Snum='" + textBox1.Text + "' AND Cnum='" + textBox2.Text + "'";
SqlDataReader rad10 = sims_cmd10.ExecuteReader();
rad10.Close();
MessageBox.Show("成绩录入成功");
}
catch
{
MessageBox.Show("成绩录入失败,请确认该学生是否选择该课程!!!");
}
finally
{
sims_con10.Close();
}
现在问题是,SQL语句里面where出现问题,如果我的Snum和Cnum输入有误,既是数据库表里面没有输入的数据,但是程序也能运行,不过运行之后数据库并没有什么改变,因为本来就不存在学号和课程号,然后cousel表的主键是Snum和Cnum,还有一列是成绩Grade,成绩是smallint型的,其他俩个是char型的。我现在尝试的都是学号Snum正确,课程号Cnum不正确,结果程序还是会弹出成绩录入成功

你的sql语句在语法上又没有错误(更新语句执行了,只是没结果罢了),try catch肯定捕捉不到错误啊,你想要执行catch,你可随意修改下sql语句(让语法有错误)肯定会执行追问

这么简单?但是我想要的效果是如果数据库检索到cousel表中没有Snum和Cnum都匹配的那行记录就弹出那个录入失败的窗口怎么办。。

温馨提示:答案为网友推荐,仅供参考
相似回答