Line 22: var sql3 = "UPDATE productori SET Name3=@0, detail2=@1, harga2=@2 WHERE id=@3";
Line 23: var db2 = Database.Open("SmallBakery");<br>
Line 24: **db2.Execute(sql3 ,Name3, detail2, harga2);**
显示错误位置的粗体区域。
我在更新数据库时遇到问题。我是webmatrix和razor的新手。
`Exception Details: System.Data.SqlServerCe.SqlCeException: The column name is not valid. [ Node name (if any) = ,Column name = Name3 ]`
这是我得到的错误。 以下是我的数据库格式:
`ID = identity=big int
Name nvarchar
Description nvarchar
price nvarchar`
请帮助我理解我做错了什么。
答案 0 :(得分:0)
数据库中没有名为Name3的列,但您的SQL尝试引用具有该名称的列。更改SQL,使列名与数据库中的列名匹配。此外,SQL中有4个参数标记,但是只提供其中3个参数标记的值,因此SQL永远不会更新任何记录。
您的SQL应该如下所示:
"UPDATE productori SET Name=@0, Description=@1, Price=@2 WHERE ID=@3";
然后你需要为ID传递一个值:
db2.Execute(sql3, Name3, detail2, harga2, variable_containing_id_value);