有人可以告诉我为什么这些代码会显示SQL错误
无效的列名称Poe
我要么是盲人要么是迟钝的,但我看不出这个代码中有任何错误(可能的变量名除外)
更新代码:
index.cshtml中的
if(IsPost)
{
var it = Request.Form["it"];
db.Execute("UPDATE students SET lastname="+it+" WHERE no="+no);
<text>
Submitted <br />
</text>
}
表格有问题的片段:
index.cshtml中的
<td><input type="text" name="it" value=@rw.LastName /></td>
答案 0 :(得分:4)
不带引号的字符串被视为列名。
但您应该使用参数化查询。像这样构建您的查询会让您向SQL injection开放。
所以你的SQL字符串应该是
UPDATE students SET lastname=@lastname WHERE no=@no
在执行查询之前,将参数添加到命令对象中。
答案 1 :(得分:0)
您缺少引号,因此请将查询更新为
UPDATE students SET lastname='"+it+"' WHERE no="+no