列名称“ISBN”无效

时间:2013-09-14 19:46:06

标签: c# sql-server

我已经创建了一个更新命令,但它有一个错误。我的代码就是这个。

cmd.CommandText = ("UPDATE Penalty SET [Due Date] = '"+ duedate +"' WHERE ISBN = '" + textBox4.Text + "'");
        cmd.ExecuteNonQuery();

它说无效的列名称'ISBN'。我无法弄清楚错误。

3 个答案:

答案 0 :(得分:4)

  

无效的列名称“ISBN”

检查Penalty表格中是否有名为“ISBN”的列,并先进行更正。

然后,如果您将'"+ duedate +"'日期时间设置为因''

而将其视为字符串,那么您最好转到参数

带参数的代码

cmd.CommandText = ("UPDATE Penalty SET [Due Date] = @duedate WHERE ISBN = @ISBN");
cmd.Parameters.AddWithValue("@duedate",duedate  );
cmd.Parameters.AddWithValue("@ISBN",textBox4.Text);
cmd.ExecuteNonQuery();

答案 1 :(得分:2)

这通常意味着表ISBN中绝对没有名为Penalty的列。

检查本专栏的确切拼写(案例通常很重要!)。

答案 2 :(得分:2)

它告诉你Penalty表没有名为ISBN的列。没有看到表定义,就不可能进一步诊断。你可以发布吗?

当您对该问题进行排序时,请阅读SQL注入攻击。使用您发布的代码,用户可能很容易对您的数据库造成严重破坏。

相关问题