Solved

Simple updates using grid and sql data source

Posted on 2010-09-02
3
232 Views
Last Modified: 2012-05-10
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

0
Comment
Question by:AlHal2
  • 2
3 Comments
 

Author Comment

by:AlHal2
ID: 33587100
The main thing is that I want to know exactly what SQL was passed to the database.
0
 
LVL 29

Expert Comment

by:Kumaraswamy R
ID: 33615245
<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>

0
 

Accepted Solution

by:
AlHal2 earned 0 total points
ID: 33615824
Thanks for this.  Would you be able to make it called stored procedures for the select and update statements?  I don't have any code for inserts or deletes, but could add some if necessary.

Raising points to 300
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

AJAX ModalPopupExtender has a required property "TargetControlID" which may seem to be very confusing to new users. It means the server control that will be extended by the ModalPopup, for instance, if when you click a button, a ModalPopup displays,…
One of the pain points with developing AJAX, JavaScript, JQuery, and other client-side behaviors is that JavaScript doesn’t allow for cross domain request for pulling content. For example, JavaScript code on www.johnchapman.name could not pull conte…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now