C# 尝试删除或编辑时出现Gridview错误消息
我收到的错误消息是: System.Data.OleDb.OLEDBEException:没有为一个或多个必需参数提供值 我做了一点阅读,所以我进入我的边界字段,将所有内容设置为只读。这并没有解决问题。我数了数我的参数,它们似乎是匹配的。因此,我真的很困惑,因为这两个修复通常都是建议的C# 尝试删除或编辑时出现Gridview错误消息,c#,asp.net,C#,Asp.net,我收到的错误消息是: System.Data.OleDb.OLEDBEException:没有为一个或多个必需参数提供值 我做了一点阅读,所以我进入我的边界字段,将所有内容设置为只读。这并没有解决问题。我数了数我的参数,它们似乎是匹配的。因此,我真的很困惑,因为这两个修复通常都是建议的 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:C
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
DeleteCommand="DELETE FROM [Students] WHERE (([Email] = ?) OR ([Email] IS NULL AND ? IS NULL))"
InsertCommand="INSERT INTO [Students] ([LastName], [FirstName], [MiddleInitial], [Phone], [Email], [GPA]) VALUES (?, ?, ?, ?, ?, ?)"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT * FROM [Students]"
UpdateCommand="UPDATE [Students] SET [LastName] = ?, [FirstName] = ?, [MiddleInitial] = ?, [Phone] = ?, [GPA] = ? WHERE (([Email] = ?) OR ([Email] IS NULL AND ? IS NULL))">
<DeleteParameters>
<asp:Parameter Name="Email" Type="String" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="LastName" Type="String" />
<asp:Parameter Name="FirstName" Type="String" />
<asp:Parameter Name="MiddleInitial" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Email" Type="String" />
<asp:Parameter Name="GPA" Type="Double" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="LastName" Type="String" />
<asp:Parameter Name="FirstName" Type="String" />
<asp:Parameter Name="MiddleInitial" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="GPA" Type="Double" />
<asp:Parameter Name="Email" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
在这两种情况下(编辑和删除),您都有一个没有值的神秘参数:
DeleteCommand =
"DELETE FROM [Students] WHERE (([Email] = ?) OR ([Email] IS NULL AND ? IS NULL))"
UpdateCommand =
"UPDATE [Students] SET [LastName] = ?, [FirstName] = ?, [MiddleInitial] = ?, [Phone] = ?, [GPA] = ? WHERE (([Email] = ?) OR ([Email] IS NULL AND ? IS NULL))">
我想说,您需要弄清楚为什么这两个命令的末尾都有或([Email]为NULL和?IS NULL))
。或者,如果可以手动编辑发布的代码,请尝试删除命令的该部分