Newbie, gridview problem Asp.net 2005

V

verci

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>
 
M

Muhammad Mosa

Sorry for making you wait,
Just add the property DataKeyNames="ProductID" to you grid view
This would work for you inshallah
Regards
--
Muhammad Mosa
Software Engineer & Solution Developer
MCT/MCSD.NET
MCTS: .Net 2.0 Web Applications
MCTS: .Net 2.0 Windows Applications


verci said:
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>
 
V

verci

hey thanks!!!


Muhammad Mosa said:
Sorry for making you wait,
Just add the property DataKeyNames="ProductID" to you grid view
This would work for you inshallah
Regards
--
Muhammad Mosa
Software Engineer & Solution Developer
MCT/MCSD.NET
MCTS: .Net 2.0 Web Applications
MCTS: .Net 2.0 Windows Applications


verci said:
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>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,710
Latest member
bernietqt

Latest Threads

Top