2014-10-19 71 views
0

处理将在ListView中显示SQL查询结果的页面。我建立了数据连接并将其设置为自动为数据库创建更新,删除和添加功能。ListView更新/编辑/删除命令错误

我得到了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:未给出一个或多个必需参数的值。

任何和所有的帮助表示赞赏!

回答

0

Wooooow ....我很抱歉问这么一个愚蠢的问题。为了将来的参考,您需要替换“?”带有相应参数的SQL语句中的字段。那个对我来说很愚蠢的男人...