【发布时间】:2014-10-19 11:41:45
【问题描述】:
处理将在 ListView 中显示 SQL 查询结果的页面。我已经建立了数据连接,并将其设置为自动创建数据库的更新、删除和添加功能。
我已经让 ListView 正确填充,并且我能够向数据库添加字段(所以基本上更新和选择查询正在工作)。
这是连接的 SQL 语句....对于我需要它做的事情来说似乎太复杂了。
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ListString %>" DeleteCommand="DELETE FROM [pizzas] WHERE (([Id] = ?) OR ([Id] IS NULL AND ? IS NULL))" InsertCommand="INSERT INTO [pizzas] ([Id], [type], [description], [inch9price], [inch11price], [inch13price]) VALUES (?, ?, ?, ?, ?, ?)" OldValuesParameterFormatString="original_{0}" ProviderName="<%$ ConnectionStrings:ListString.ProviderName %>" SelectCommand="SELECT [Id], [type], [description], [inch9price], [inch11price], [inch13price] FROM [pizzas]" UpdateCommand="UPDATE [pizzas] SET [type] = ?, [description] = ?, [inch9price] = ?, [inch11price] = ?, [inch13price] = ? WHERE (([Id] = ?) OR ([Id] IS NULL AND ? IS NULL))">
<DeleteParameters>
<asp:Parameter Name="original_Id" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Id" Type="Int32" />
<asp:Parameter Name="type" Type="String" />
<asp:Parameter Name="description" Type="String" />
<asp:Parameter Name="inch9price" Type="Decimal" />
<asp:Parameter Name="inch11price" Type="Decimal" />
<asp:Parameter Name="inch13price" Type="Decimal" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="type" Type="String" />
<asp:Parameter Name="description" Type="String" />
<asp:Parameter Name="inch9price" Type="Decimal" />
<asp:Parameter Name="inch11price" Type="Decimal" />
<asp:Parameter Name="inch13price" Type="Decimal" />
<asp:Parameter Name="original_Id" Type="Int32" />
</UpdateParameters>
你能看出这里有什么问题吗?
当我尝试删除或更新列表视图项目时,我收到此错误...
没有为一个或多个必需参数指定值。
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.OleDb.OleDbException:没有为一个或多个必需参数提供值。
感谢所有帮助!
【问题讨论】:
标签: sql listview sql-update edit