Link to home
Start Free TrialLog in
Avatar of AlHal2
AlHal2Flag for United Kingdom of Great Britain and Northern Ireland

asked on

Simple updates using grid and sql data source

The code window shows an sql data source and a grid.
It also has the stored procedure used by the update command.

When I try and update a column it either blanks out all the columns I've not chosen to update or gives me an error message saying:
@original_Code is not a parameter for procedure UpdateAllEq.
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TestConnectionString %>" SelectCommand="SELECT * FROM [AllEq]" UpdateCommand="UpdateAllEq" OldValuesParameterFormatString="original_{0}" UpdateCommandType="StoredProcedure">
                <DeleteParameters>
                    <asp:Parameter Name="original_Code" Type="String" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="Code" Type="String" />
                    <asp:Parameter Name="NAME" Type="String" />
                    <asp:Parameter Name="GEOGN" Type="String" />
                    <asp:Parameter Name="Cov" Type="String" />
                    <asp:Parameter Name="TIME" Type="String" />
                </UpdateParameters>
            </asp:SqlDataSource>
        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
            AutoGenerateColumns="False" DataKeyNames="Code" DataSourceID="SqlDataSource1"
            PageSize="20">
            <PagerSettings Mode="NextPreviousFirstLast" />
            <Columns>
                <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
                <asp:BoundField DataField="Code" HeaderText="Code" ReadOnly="True" SortExpression="Code" />
                <asp:BoundField DataField="NAME" HeaderText="NAME" SortExpression="NAME" />
                <asp:BoundField DataField="GEOGN" HeaderText="GEOGN" SortExpression="GEOGN" />
                <asp:BoundField DataField="COV" HeaderText="COV" SortExpression="COV" />
                <asp:BoundField DataField="TIME" HeaderText="TIME" SortExpression="TIME" />
            </Columns>
        </asp:GridView>
        <asp:DetailsView ID="DetailsView1" runat="server" AllowPaging="True" AutoGenerateRows="False"
            DataKeyNames="Code" DataSourceID="SqlDataSource1" Height="50px" Width="125px">
            <Fields>
                <asp:BoundField DataField="Code" HeaderText="Code" ReadOnly="True" SortExpression="Code" />
                <asp:BoundField DataField="NAME" HeaderText="NAME" SortExpression="NAME" />
                <asp:BoundField DataField="GEOGN" HeaderText="GEOGN" SortExpression="GEOGN" />
                <asp:BoundField DataField="COV" HeaderText="COV" SortExpression="COV" />
                <asp:BoundField DataField="TIME" HeaderText="TIME" SortExpression="TIME" />
            </Fields>
        </asp:DetailsView>

------------Stored Procedure
ALTER PROCEDURE [dbo].[UpdateAllEq]
(
@Code varchar(6) ,
@Name varchar(255),
@GEOGN varchar(255),
@Cov varchar(255),
@TIME varchar(255))

AS
UPDATE [AllEq] 
SET [NAME] = @NAME, 
[GEOGN] = @GEOGN, 
Cov = @Cov, 
[TIME] = @TIME
WHERE [Code] = @Code

Open in new window

Avatar of AlHal2
AlHal2
Flag of United Kingdom of Great Britain and Northern Ireland image

ASKER

The main thing is that I want to know exactly what SQL was passed to the database.
Avatar of Kumaraswamy R
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TestConnectionString %>" SelectCommand="SELECT * FROM [AllEq]" UpdateCommand="UpdateAllEq" OldValuesParameterFormatString="original_{0}" <UpdateCommandType="StoredProcedure">
             
                <UpdateParameters>
                    <asp:Parameter Name="Code" Type="String" />
                    <asp:Parameter Name="NAME" Type="String" />
                    <asp:Parameter Name="GEOGN" Type="String" />
                    <asp:Parameter Name="Cov" Type="String" />
                    <asp:Parameter Name="TIME" Type="String" />
                </UpdateParameters>
            </asp:SqlDataSource>

        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
            AutoGenerateColumns="False" DataKeyNames="Code" DataSourceID="SqlDataSource1"
            PageSize="20">
            <PagerSettings Mode="NextPreviousFirstLast" />
            <Columns>
                <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
                <asp:BoundField DataField="Code" HeaderText="Code" ReadOnly="True" SortExpression="Code" />
                <asp:BoundField DataField="NAME" HeaderText="NAME" SortExpression="NAME" />
                <asp:BoundField DataField="GEOGN" HeaderText="GEOGN" SortExpression="GEOGN" />
                <asp:BoundField DataField="COV" HeaderText="COV" SortExpression="COV" />
                <asp:BoundField DataField="TIME" HeaderText="TIME" SortExpression="TIME" />
            </Columns>
        </asp:GridView>
        <asp:DetailsView ID="DetailsView1" runat="server" AllowPaging="True" AutoGenerateRows="False"
            DataKeyNames="Code" DataSourceID="SqlDataSource1" Height="50px" Width="125px">
            <Fields>
                <asp:BoundField DataField="Code" HeaderText="Code" ReadOnly="True" SortExpression="Code" />
                <asp:BoundField DataField="NAME" HeaderText="NAME" SortExpression="NAME" />
                <asp:BoundField DataField="GEOGN" HeaderText="GEOGN" SortExpression="GEOGN" />
                <asp:BoundField DataField="COV" HeaderText="COV" SortExpression="COV" />
                <asp:BoundField DataField="TIME" HeaderText="TIME" SortExpression="TIME" />
            </Fields>
        </asp:DetailsView>

ASKER CERTIFIED SOLUTION
Avatar of AlHal2
AlHal2
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial