C# C:没有为FormView的一个或多个必需参数提供值
我使用的是FormView,当我想更新我编辑过的内容时,总是会出现以下错误: 没有为一个或多个给定值 所需参数 我将SQLDataSource与FormView结合使用 这是我的formview的代码C# C:没有为FormView的一个或多个必需参数提供值,c#,asp.net,C#,Asp.net,我使用的是FormView,当我想更新我编辑过的内容时,总是会出现以下错误: 没有为一个或多个给定值 所需参数 我将SQLDataSource与FormView结合使用 这是我的formview的代码 <asp:SqlDataSource ID="sqldsLokaalPrinters" runat="server" ConnectionString="<%$ ConnectionStrings:connRand2 %>" DeleteCom
<asp:SqlDataSource ID="sqldsLokaalPrinters" runat="server"
ConnectionString="<%$ ConnectionStrings:connRand2 %>"
DeleteCommand="DELETE FROM [tblComputers] WHERE (([tblArtveldenr] = ?) OR ([tblArtveldenr] IS NULL AND ? IS NULL))"
InsertCommand="INSERT INTO [tblComputers] ([tblArtveldenr], [tblNaam], [tblCLokaal_id], [tblPositie], [tblSerienr], [tblTCPIP], [tblFabrikant], [tblModel], [tblProcessor], [tblSnelheid], [tblKleur], [tblGeheugen], [tblHarddisk], [tblZip], [tblCD], [tblDVD], [tblNetwerk], [tblFirewire], [tblAanschafdatum], [tblCLeverabcierNr], [tblScherm], [tblLaptop]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
ProviderName="<%$ ConnectionStrings:connRand2.ProviderName %>"
SelectCommand="SELECT * FROM [tblComputers] WHERE ([tblCLokaal_id] = ?)"
UpdateCommand="UPDATE [tblComputers] SET [tblNaam] = ?, [tblCLokaal_id] = ?, [tblPositie] = ?, [tblSerienr] = ?, [tblTCPIP] = ?, [tblFabrikant] = ?, [tblModel] = ?, [tblProcessor] = ?, [tblSnelheid] = ?, [tblKleur] = ?, [tblGeheugen] = ?, [tblHarddisk] = ?, [tblZip] = ?, [tblCD] = ?, [tblDVD] = ?, [tblNetwerk] = ?, [tblFirewire] = ?, [tblAanschafdatum] = ?, [tblCLeverabcierNr] = ?, [tblScherm] = ?, [tblLaptop] = ? WHERE (([tblArtveldenr] = ?) OR ([tblArtveldenr] IS NULL AND ? IS NULL))">
<SelectParameters>
<asp:SessionParameter Name="tblCLokaal_id" SessionField="lokaalID"
Type="Int16" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="tblArtveldenr" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="tblNaam" Type="String" />
<asp:Parameter Name="tblCLokaal_id" Type="Int16" />
<asp:Parameter Name="tblPositie" Type="Int32" />
<asp:Parameter Name="tblSerienr" Type="String" />
<asp:Parameter Name="tblTCPIP" Type="String" />
<asp:Parameter Name="tblFabrikant" Type="String" />
<asp:Parameter Name="tblModel" Type="String" />
<asp:Parameter Name="tblProcessor" Type="String" />
<asp:Parameter Name="tblSnelheid" Type="Int32" />
<asp:Parameter Name="tblKleur" Type="String" />
<asp:Parameter Name="tblGeheugen" Type="Int32" />
<asp:Parameter Name="tblHarddisk" Type="Double" />
<asp:Parameter Name="tblZip" Type="String" />
<asp:Parameter Name="tblCD" Type="String" />
<asp:Parameter Name="tblDVD" Type="String" />
<asp:Parameter Name="tblNetwerk" Type="String" />
<asp:Parameter Name="tblFirewire" Type="Int32" />
<asp:Parameter Name="tblAanschafdatum" Type="DateTime" />
<asp:Parameter Name="tblCLeverabcierNr" Type="Int32" />
<asp:Parameter Name="tblScherm" Type="String" />
<asp:Parameter Name="tblLaptop" Type="Boolean" />
<asp:Parameter Name="tblArtveldenr" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="tblArtveldenr" Type="String" />
<asp:Parameter Name="tblNaam" Type="String" />
<asp:Parameter Name="tblCLokaal_id" Type="Int16" />
<asp:Parameter Name="tblPositie" Type="Int32" />
<asp:Parameter Name="tblSerienr" Type="String" />
<asp:Parameter Name="tblTCPIP" Type="String" />
<asp:Parameter Name="tblFabrikant" Type="String" />
<asp:Parameter Name="tblModel" Type="String" />
<asp:Parameter Name="tblProcessor" Type="String" />
<asp:Parameter Name="tblSnelheid" Type="Int32" />
<asp:Parameter Name="tblKleur" Type="String" />
<asp:Parameter Name="tblGeheugen" Type="Int32" />
<asp:Parameter Name="tblHarddisk" Type="Double" />
<asp:Parameter Name="tblZip" Type="String" />
<asp:Parameter Name="tblCD" Type="String" />
<asp:Parameter Name="tblDVD" Type="String" />
<asp:Parameter Name="tblNetwerk" Type="String" />
<asp:Parameter Name="tblFirewire" Type="Int32" />
<asp:Parameter Name="tblAanschafdatum" Type="DateTime" />
<asp:Parameter Name="tblCLeverabcierNr" Type="Int32" />
<asp:Parameter Name="tblScherm" Type="String" />
<asp:Parameter Name="tblLaptop" Type="Boolean" />
</InsertParameters>
</asp:SqlDataSource>
我不知道如何解决这个错误
非常感谢Vincent这个?是错误的,它的格式应该是@paramname 因此,为了您的选择
SelectCommand="SELECT * FROM [tblComputers] WHERE ([tblCLokaal_id] = @tblCLokaal_id)"
刚才注意到,如果param是在Session[id]中传递的,那么它应该是
<SelectParameters>
<asp:SessionParameter Name="tblCLokaal_id" SessionField="id"
Type="Int16" />
</SelectParameters>
编辑
看看MSDN?可能不是我用过的,但是SessionField肯定需要是会话中对象的键谢谢你的回答,但不幸的是它仍然不起作用。
SelectCommand="SELECT * FROM [tblComputers] WHERE ([tblCLokaal_id] = @tblCLokaal_id)"
<SelectParameters>
<asp:SessionParameter Name="tblCLokaal_id" SessionField="id"
Type="Int16" />
</SelectParameters>