Hi
Can anyone help me I'm running Win XP Pro SP2, VS2005 Team, .Net Framework
2.0 and SQL Server2005, I can't delete records using the gridviews
deletecommand, the updatecommand works fine, edit and calcel all works fine
the problem is the delete part, I get the message:
-----------------------------------------------ERROR
MESSAGE----------------------------------------------------------------------------------------
Must declare the scalar variable "@productid".
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Must declare the
scalar variable "@productid".
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Here's my default3.aspx source code so far I've been stuck two days, thanks
and best regards. :(
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default3.aspx.vb"
Inherits="Default3" %>
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:NwindConnectionString %>"
SelectCommand="SELECT p.ProductID, p.ProductName, p.CategoryID,
c.CategoryName FROM Products p inner join Categories c on p.CategoryID =
c.CategoryID"
UpdateCommand="Update Products Set ProductID=@ProductID,
ProductName=@ProductName, CategoryID=@CategoryID where ProductID=@ProductID"
DeleteCommand="delete from products where productid=@productid">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$
ConnectionStrings:NwindConnectionString %>"
SelectCommand="SELECT [CategoryID], [CategoryName] FROM [Categories]">
</asp:SqlDataSource>
</div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1" CellPadding="4" ForeColor="#333333"
GridLines="None" AllowPaging="True">
<Columns>
<asp:CommandField ButtonType="Image" CancelImageUrl="~/Images/Cancel.gif"
EditImageUrl="~/Images/WRITE2.gif"
ShowEditButton="True" UpdateImageUrl="~/Images/Update.gif"
DeleteImageUrl="~/Images/waste-trash.gif" ShowDeleteButton="True" />
<asp:TemplateField SortExpression="ProductID">
<EditItemTemplate>
<asp:Label ID="TextBox1" runat="server" Text='<%# Bind("ProductID")%>'
Visible=false></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("ProductID") %>'
Visible=false></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ProductName" HeaderText="ProductName"
SortExpression="ProductName" />
<asp:TemplateField HeaderText="CategoryID" SortExpression="CategoryID">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="SqlDataSource2"
DataTextField="CategoryName" DataValueField="CategoryID" SelectedValue='<%#
Bind("CategoryID") %>' >
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("CategoryName")
%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<SelectedRowStyle BackColor="#D1DDF1" ForeColor="#333333" Font-Bold="True"
/>
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center"
/>
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
</asp:GridView>
</form>
</body>
</html>
Muhammad Mosa - 21 Aug 2006 01:03 GMT
Sorry for making you wait,
Just add the property DataKeyNames="ProductID" to you grid view
This would work for you inshallah
Regards

Signature
Muhammad Mosa
Software Engineer & Solution Developer
MCT/MCSD.NET
MCTS: .Net 2.0 Web Applications
MCTS: .Net 2.0 Windows Applications
> Hi
> Can anyone help me I'm running Win XP Pro SP2, VS2005 Team, .Net Framework
[quoted text clipped - 138 lines]
>
> </html>
verci - 28 Aug 2006 07:36 GMT
hey thanks!!!
> Sorry for making you wait,
> Just add the property DataKeyNames="ProductID" to you grid view
[quoted text clipped - 153 lines]
>>
>> </html>