1
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 和剃须刀的新手。

`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`

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

4

1 回答 1

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);
于 2012-08-06T06:29:17.570 回答