-3

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

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

它说 Invalid column name 'ISBN' 。我无法弄清楚错误。

4

3 回答 3

4

列名“ISBN”无效

检查您的表中有名为“ISBN”的Penalty列并首先更正它。

然后你最好转向参数,如果你设置'"+ 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();
于 2013-09-14T19:58:12.663 回答
2

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

检查此列的确切拼写(通常情况下很重要!)。

于 2013-09-14T19:48:08.793 回答
2

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

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

于 2013-09-14T19:52:44.773 回答