在razor webmarix中更新

时间:2012-08-05 04:36:24

标签: razor webmatrix

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`

请帮助我理解我做错了什么。

1 个答案:

答案 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);