我不确定这是怎么回事,但它没有把测验成绩放在学生表中,任何人都可以帮忙吗?这是我的代码。
private void button9_Click(object sender, EventArgs e)
{
int x = 0;
if (textBox20.Text == "yours" || textBox20.Text == "Yours" || textBox20.Text == "YOURS")
{
x++;
}
if (textBox21.Text == "mine" || textBox21.Text == "Mine" || textBox21.Text == "MINE")
{
x++;
}
if (textBox22.Text == "his" || textBox22.Text == "His" || textBox22.Text == "HIS")
{
x++;
}
if (textBox23.Text == "yours" || textBox23.Text == "Yours" || textBox23.Text == "YOURS")
{
x++;
}
SqlConnection con = new SqlConnection(connStr);
str = "UPDATE Student SET (Q1 ='" + x + "') WHERE (Username = '" + this.textBox3.Text + "' , Password = '" + this.textBox4.Text + "')";
try
{
this.studentTableAdapter5.Update(this.cAIDataSet5.Student);
MessageBox.Show("Your Score is: " + x);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
我不确定我哪里出错了,它根本没有显示任何错误。
答案 0 :(得分:1)
你不能在任何地方执行你的SQL查询。
你需要做以下几点事情:
using(var con = new SqlConnection(connStr))
{
var command = new SqlCommand(str, connStr);
command.ExecuteNonQuery(command);
}
评论员提到你的方法容易受到Sql注入攻击。虽然你的问题的背景使这有点无关紧要,但了解它是很好的。你可以阅读sql injection here。