SQL Server存储过程更新无法使用ASP.Net C#GridView RowUpdating

时间:2014-02-20 16:05:43

标签: c# asp.net sql-server gridview stored-procedures

我遇到了问题,但我没有收到任何错误。发生的事情是我有一个存储过程正在推动我的更新,但我无法更新gridview。

我点击Update链接按钮,但实际上并未更新记录。

这是我的存储过程:

ALTER PROCEDURE [dbo].[CompDev_Update](
@CompID int,
@NewDevCount nchar(10) = null,
@DevelopmentName nvarchar(255) = null,
@City nvarchar(255) = null,
@State nvarchar(255) = null,
@ZipCodeofNewDev nchar(10) = null,
@ProjectStatus nvarchar(255) = null,
@ShoppingCenter nvarchar(255) = null,
@ProjectStartDate float = null,
@ProjectDescription nvarchar(255) = null,
@ProposedAnchorTenants nvarchar(255) = null,
@GLA nchar(10) = null,
@EstCompDate float = null,
@Developer nvarchar(255) = null,
@BusinessUnit nchar(10) = null,
@BU nchar(10) = null,
@CenterName nvarchar(255) = null,
@MSA nvarchar(255) = null,
@BrixmorMSARank nchar(10) = null,
@Count nchar(10) = null,
@Region nvarchar(255) = null,
@DistancefromNewDev nchar(10) = null
)
   AS
   BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here
UPDATE WestCompetition Set NewDevCount=@NewDevCount, DevelopmentName=@DevelopmentName,
    City=@City, [State]=@State, ZipCodeofNewDev=@ZipCodeofNewDev, ProjectStatus=@ProjectStatus,
    ShoppingCenter=@ShoppingCenter, ProjectStartDate=@ProjectStartDate, ProjectDescription=@ProjectDescription,
    ProposedAnchorTenants=@ProposedAnchorTenants, GLA=@GLA, EstCompDate=@EstCompDate,
    Developer=@Developer, BusinessUnit=@BusinessUnit, BU=@BU, CenterName=@CenterName,
    MSA=@MSA, BrixmorMSARank=@BrixmorMSARank, [Count]=@Count, Region=@Region,
    DistancefromNewDev=@DistancefromNewDev
    WHERE CompID = @CompID

END

这是我的asp.net c#代码背后:

 protected void gvCompetition_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        Label CompID = (Label)gvCompetition.Rows[e.RowIndex].FindControl("lblCompID");
        TextBox NewDevCount = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtNewDevCount");
        TextBox DevelopmentName = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtDevelopmentName");
        TextBox City = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtCity");
        TextBox State = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtState");
        TextBox ZipCodeofNewDev = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtZipCode");
        TextBox ProjectStatus = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtProjectStatus");
        TextBox ShoppingCenter = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtShoppingCenter");
        TextBox ProjectStartDate = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtProjectStartDate");
        TextBox ProjectDescription = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtProjectDescription");
        TextBox ProposedAnchorTenants = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtProposedAnchorTenants");
        TextBox GLA = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtGLA");
        TextBox EstCompDate = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtEstCompDate");
        TextBox Developer = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtDeveloper");
        TextBox BusinessUnit = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtBusinessUnit");
        TextBox BU = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtBU");
        TextBox CenterName = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtCenterName");
        TextBox MSA = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtMSA");
        TextBox BrixmorMSARank = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtBrixmorMSARank");
        TextBox Count = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtCount");
        TextBox Region = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtRegion");
        TextBox DistancefromNewDev = (TextBox)gvCompetition.Rows[e.RowIndex].FindControl("txtDistancefromNewDev");
        string ecompid = CompID.Text;
        string enewdevcount = NewDevCount.Text;
        string edevelopmentname = DevelopmentName.Text;
        string ecity = City.Text;
        string estate = State.Text;
        string ezipcode = ZipCodeofNewDev.Text;
        string eprojectstatus = ProjectStatus.Text;
        string eshoppingcenter = ShoppingCenter.Text;
        string eprojectstartdate = ProjectStartDate.Text;
        string eprojectdescription = ProjectDescription.Text;
        string eproposedanchor = ProposedAnchorTenants.Text;
        string egla = GLA.Text;
        string eestcompdate = EstCompDate.Text;
        string edeveloper = Developer.Text;
        string ebusinessunit = BusinessUnit.Text;
        string ebu = BU.Text;
        string ecentername = CenterName.Text;
        string emsa = MSA.Text;
        string ebrixmormsarank = BrixmorMSARank.Text;
        string ecount = Count.Text;
        string eregion = Region.Text;
        string edistancefromnewdev = DistancefromNewDev.Text;

        UpdateCompetition(ecompid, enewdevcount, edevelopmentname, ecity, estate, ezipcode, eprojectstatus, eshoppingcenter, eprojectstartdate, eprojectdescription, eproposedanchor,
            egla, eestcompdate, edeveloper, ebusinessunit, ebu, ecentername, emsa, ebrixmormsarank, ecount, eregion, edistancefromnewdev);

        gvCompetition.EditIndex = -1;
        BindCompetition();
    }

    protected void UpdateCompetition(string compid, string newdevcount, string developmentname, string city, string state, string zipcode,
        string projectstatus, string shoppingcenter, string projectstartdate, string projectdescription, string proposedanchor, string gla,
        string estcompdate, string developer, string businessunit, string bu, string centername, string msa, string brixmormsarank,
        string count, string region, string distancefromnewdev)
    {
        SqlConnection conn = new SqlConnection(cnnString);
        conn.Open();
        command = new SqlCommand();
        command.Connection = conn;
        command.CommandType = CommandType.StoredProcedure;
        command.CommandText = "CompDev_Update";

        command.Parameters.Add(new SqlParameter("@CompID", SqlDbType.Int));
        command.Parameters.Add(new SqlParameter("@NewDevCount", SqlDbType.NChar, 10));
        command.Parameters.Add(new SqlParameter("@DevelopmentName", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@City", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@State", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@ZipCodeofNewDev", SqlDbType.NChar, 10));
        command.Parameters.Add(new SqlParameter("@ProjectStatus", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@ShoppingCenter", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@ProjectStartDate", SqlDbType.Float));
        command.Parameters.Add(new SqlParameter("@ProjectDescription", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@ProposedAnchorTenants", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@GLA", SqlDbType.NChar, 10));
        command.Parameters.Add(new SqlParameter("@EstCompDate", SqlDbType.Float));
        command.Parameters.Add(new SqlParameter("@Developer", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@BusinessUnit", SqlDbType.NChar, 10));
        command.Parameters.Add(new SqlParameter("@BU", SqlDbType.NChar, 10));
        command.Parameters.Add(new SqlParameter("@CenterName", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@MSA", SqlDbType.NChar, 10));
        command.Parameters.Add(new SqlParameter("@BrixmorMSARank", SqlDbType.NChar, 10));
        command.Parameters.Add(new SqlParameter("@Count", SqlDbType.NChar, 10));
        command.Parameters.Add(new SqlParameter("@Region", SqlDbType.NVarChar, 255));
        command.Parameters.Add(new SqlParameter("@DistancefromNewDev", SqlDbType.NChar, 10));

        command.Parameters["@CompID"].Value = Convert.ToInt32(compid.ToString());
        command.Parameters["@NewDevCount"].Value = newdevcount;
        command.Parameters["@DevelopmentName"].Value = developmentname;
        command.Parameters["@City"].Value = city;
        command.Parameters["@State"].Value = state;
        command.Parameters["@ZipCodeofNewDev"].Value = zipcode;
        command.Parameters["@ProjectStatus"].Value = projectstatus;
        command.Parameters["@ShoppingCenter"].Value = shoppingcenter;
        command.Parameters["@ProjectStartDate"].Value = projectstartdate;
        command.Parameters["@ProjectDescription"].Value = projectdescription;
        command.Parameters["@ProposedAnchorTenants"].Value = proposedanchor;
        command.Parameters["@GLA"].Value = gla;
        command.Parameters["@EstCompDate"].Value = estcompdate;
        command.Parameters["@Developer"].Value = developer;
        command.Parameters["@BusinessUnit"].Value = businessunit;
        command.Parameters["@BU"].Value = bu;
        command.Parameters["@CenterName"].Value = centername;
        command.Parameters["@MSA"].Value = msa;
        command.Parameters["@BrixmorMSARank"].Value = brixmormsarank;
        command.Parameters["@Count"].Value = count;
        command.Parameters["@Region"].Value = region;
        command.Parameters["@DistancefromNewDev"].Value = distancefromnewdev;

        da = new SqlDataAdapter(command);
        ds = new DataSet();
        da.Fill(ds);

        conn.Close();
    }

这是我的asp.net代码:

<asp:UpdatePanel runat="server" UpdateMode="Conditional">
    <ContentTemplate>
            <asp:GridView ID="gvCompetition" OnPageIndexChanging="gvCompetition_PageIndexChanging" 
                OnRowEditing="gvCompetition_RowEditing" OnRowCancelingEdit="gvCompetition_RowCancelingEdit"
                OnRowUpdating="gvCompetition_RowUpdating"
                runat="server" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" 
                BorderWidth="1px" CellPadding="1" ForeColor="Black" GridLines="Vertical" 
                AllowPaging="True" AutoGenerateColumns="False" Font-Size="10px">
                <AlternatingRowStyle BackColor="White" />
                <FooterStyle BackColor="#CCCC99" />
                <HeaderStyle BackColor="#7a1501" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#ed2d22" ForeColor="Black" HorizontalAlign="Right" />
                <RowStyle BackColor="#f68121" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" />
                <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
                <SortedAscendingCellStyle BackColor="#FBFBF2" />
                <SortedAscendingHeaderStyle BackColor="#848384" />
                <SortedDescendingCellStyle BackColor="#EAEAD3" />
                <SortedDescendingHeaderStyle BackColor="#575357" />
                <Columns>
                    <asp:templatefield Headertext="ID">
                        <itemtemplate>
                            <asp:label ID="lblCompID" runat="server" text='<%#Eval("CompID") %>'></asp:label>
                        </itemtemplate>
                    </asp:templatefield>

                    <asp:TemplateField HeaderText="New Dev Count">
                        <ItemTemplate>
                            <asp:Label ID="lblNewDevCount" runat="server" Text='<%#Eval("NewDevCount") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtNewDevCount" Width="100%" runat="server" Text='<%#Eval("NewDevCount") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Development Name">
                        <ItemTemplate>
                            <asp:Label ID="lblDevelopmentName" runat="server" Text='<%#Eval("DevelopmentName") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtDevelopmentName" Width="100%" runat="server" Text='<%#Eval("DevelopmentName") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="City">
                        <ItemTemplate>
                            <asp:Label ID="lblCity" runat="server" Text='<%#Eval("City") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtCity" Width="100%" runat="server" Text='<%#Eval("City") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="State">
                        <ItemTemplate>
                            <asp:Label ID="lblState" runat="server" Text='<%#Eval("State") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtState" Width="100%" runat="server" Text='<%#Eval("State") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Zip Code">
                        <ItemTemplate>
                            <asp:Label ID="lblZipCode" runat="server" Text='<%#Eval("ZipCodeofNewDev") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtZipCode" Width="100%" runat="server" Text='<%#Eval("ZipCodeofNewDev") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Project Status">
                        <ItemTemplate>
                            <asp:Label ID="lblProjectStatus" runat="server" Text='<%#Eval("ProjectStatus") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtProjectStatus" Width="100%" runat="server" Text='<%#Eval("ProjectStatus") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Shopping Center">
                        <ItemTemplate>
                            <asp:Label ID="lblShoppingCenter" runat="server" Text='<%#Eval("ShoppingCenter") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtShoppingCenter" Width="100%" runat="server" Text='<%#Eval("ShoppingCenter") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Project Start Date">
                        <ItemTemplate>
                            <asp:Label ID="lblProjectStartDate" runat="server" Text='<%#Eval("ProjectStartDate") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtProjectStartDate" Width="100%" runat="server" Text='<%#Eval("ProjectStartDate") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Project Description">
                        <ItemTemplate>
                            <asp:Label ID="lblProjectDescription" runat="server" Text='<%#Eval("ProjectDescription") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtProjectDescription" Width="100%" runat="server" Text='<%#Eval("ProjectDescription") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Proposed Anchor Tenants">
                        <ItemTemplate>
                            <asp:Label ID="lblProposedAnchorTenants" runat="server" Text='<%#Eval("ProposedAnchorTenants") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtProposedAnchorTenants" Width="100%" runat="server" Text='<%#Eval("ProposedAnchorTenants") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="GLA">
                        <ItemTemplate>
                            <asp:Label ID="lblGLA" runat="server" Text='<%#Eval("GLA") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtGLA" Width="100%" runat="server" Text='<%#Eval("GLA") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Est. Completion Date">
                        <ItemTemplate>
                            <asp:Label ID="lblEstCompDate" runat="server" Text='<%#Eval("EstCompDate") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtEstCompDate" Width="100%" runat="server" Text='<%#Eval("EstCompDate") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Developer">
                        <ItemTemplate>
                            <asp:Label ID="lblDeveloper" runat="server" Text='<%#Eval("Developer") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtDeveloper" Width="100%" runat="server" Text='<%#Eval("Developer") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Business Unit">
                        <ItemTemplate>
                            <asp:Label ID="lblBusinessUnit" runat="server" Text='<%#Eval("BusinessUnit") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtBusinessUnit" Width="100%" runat="server" Text='<%#Eval("BusinessUnit") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="BU">
                        <ItemTemplate>
                            <asp:Label ID="lblBU" runat="server" Text='<%#Eval("BU") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtBU" Width="100%" runat="server" Text='<%#Eval("BU") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="CenterName">
                        <ItemTemplate>
                            <asp:Label ID="lblCenterName" runat="server" Text='<%#Eval("CenterName") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtCenterName" Width="100%" runat="server" Text='<%#Eval("CenterName") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="MSA">
                        <ItemTemplate>
                            <asp:Label ID="lblMSA" runat="server" Text='<%#Eval("MSA") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtMSA" Width="100%" runat="server" Text='<%#Eval("MSA") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Brixmor MSA Rank">
                        <ItemTemplate>
                            <asp:Label ID="lblBrixmorMSARank" runat="server" Text='<%#Eval("BrixmorMSARank") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtBrixmorMSARank" Width="100%" runat="server" Text='<%#Eval("BrixmorMSARank") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Count">
                        <ItemTemplate>
                            <asp:Label ID="lblCount" runat="server" Text='<%#Eval("Count") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtCount" Width="100%" runat="server" Text='<%#Eval("Count") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Region">
                        <ItemTemplate>
                            <asp:Label ID="lblRegion" runat="server" Text='<%#Eval("Region") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtRegion" Width="100%" runat="server" Text='<%#Eval("Region") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Distance from New Dev">
                        <ItemTemplate>
                            <asp:Label ID="lblDistancefromNewDev" runat="server" Text='<%#Eval("DistancefromNewDev") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:TextBox ID="txtDistancefromNewDev" Width="100%" runat="server" Text='<%#Eval("DistancefromNewDev") %>'></asp:TextBox>
                        </EditItemTemplate>
                    </asp:TemplateField>


                    <asp:TemplateField HeaderText="Edit">
                        <ItemTemplate>
                            <asp:LinkButton ID="btnEdit" Text="EDIT" runat="server" CommandName="Edit" />

                            <span onclick="return confirm('Are you sure you want to delete this record')">
                                <asp:LinkButton ID="btnDelete" Text="DELETE" runat="server" CommandName="Delete" />
                            </span>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:LinkButton ID="btnUpdate" Text="UPDATE" runat="server" CommandName="Update" />
                            <br />
                            <asp:LinkButton ID="btnCancel" Text="CANCEL" runat="server" CommandName="Cancel" />
                        </EditItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="gvCompetition" EventName="PageIndexChanging" />
        <asp:AsyncPostBackTrigger ControlID="gvCompetition" EventName="RowEditing" />
        <asp:AsyncPostBackTrigger ControlID="gvCompetition" EventName="RowUpdating" />
        <asp:AsyncPostBackTrigger ControlID="gvCompetition" EventName="RowCancelingEdit" />
    </Triggers>
</asp:UpdatePanel>

如果更新不会发生,我做错了什么?为什么我没有在没有更新时抛出任何错误?

3 个答案:

答案 0 :(得分:0)

注意到您实际上正在推送状态值。有几个原因它可能无法运作: 1.调用参数的顺序与存储过程中定义它们的顺序不同。最后在C#代码中传递状态。 (事实上​​,仔细检查所有参数,以确保它们的顺序与proc相同) 2.“状态”的情况在存储过程与C#代码中有所不同。确保所有输入参数在C#代码中与proc中的参数相同。

最初要做的最好的事情就是重新编写你的proc来做一件事并且做得好。一旦有效,您可以重新设置proc以执行更多操作。虽然,与MarcS一致,你真的应该避免使用多用途,因为对它们进行维护和维护是一种正确的痛苦。

答案 1 :(得分:0)

您传递了Status=Update并强制您的存储过程运行SP的Update部分,但是您调用了应该使用SELECT记录填充数据集的SqlDataAdapter.Fill方法,但是您的过程执行更新e不返回任何记录。

如果你真的想要执行这个非常直观的(在我看来)弱代码,你需要在存储过程的末尾移动选择部分并在每种情况下执行它。

IF(@Status = 'Add')
BEGIN
   ....
END
ELSE IF(@Status = 'Update')
BEGIN
   ....
END
ELSE IF(@Status = 'Delete')
BEGIN
   ....
END
-- Always return the records after the update/insert/delete 
SELECT * FROM WestCompetition 

然而,marc_s的上述评论已经说明了所有内容,无需添加任何内容

答案 2 :(得分:0)

存储过程:

ALTER PROCEDURE [dbo].[CompDev_Select]
AS
    BEGIN
        SET NOCOUNT ON;

        SELECT  [WC].[CompID]
              , [WC].[NewDevCount]
              , [WC].[DevelopmentName]
              , [WC].[City]
              , [WC].[State]
              , [WC].[ZipCodeofNewDev]
              , [WC].[ProjectStatus]
              , [WC].[ShoppingCenter]
              , [WC].[ProjectStartDate]
              , [WC].[ProjectDescription]
              , [WC].[ProposedAnchorTenants]
              , [WC].[GLA]
              , [WC].[EstCompDate]
              , [WC].[Developer]
              , [WC].[BusinessUnit]
              , [WC].[BU]
              , [WC].[CenterName]
              , [WC].[MSA]
              , [WC].[BrixmorMSARank]
              , [WC].[Count]
              , [WC].[Region]
              , [WC].[DistancefromNewDev]
        FROM    [dbo].[WestCompetition] AS WC

        SET NOCOUNT OFF;
    END
GO



ALTER PROCEDURE [dbo].[CompDev_Update]
    ( @CompID INT
    , @NewDevCount NCHAR(10) = NULL
    , @DevelopmentName NVARCHAR(255) = NULL
    , @City NVARCHAR(255) = NULL
    , @State NVARCHAR(255) = NULL
    , @ZipCodeofNewDev NCHAR(10) = NULL
    , @ProjectStatus NVARCHAR(255) = NULL
    , @ShoppingCenter NVARCHAR(255) = NULL
    , @ProjectStartDate FLOAT = NULL
    , @ProjectDescription NVARCHAR(255) = NULL
    , @ProposedAnchorTenants NVARCHAR(255) = NULL
    , @GLA NCHAR(10) = NULL
    , @EstCompDate FLOAT = NULL
    , @Developer NVARCHAR(255) = NULL
    , @BusinessUnit NCHAR(10) = NULL
    , @BU NCHAR(10) = NULL
    , @CenterName NVARCHAR(255) = NULL
    , @MSA NVARCHAR(255) = NULL
    , @BrixmorMSARank NCHAR(10) = NULL
    , @Count NCHAR(10) = NULL
    , @Region NVARCHAR(255) = NULL
    , @DistancefromNewDev NCHAR(10) = NULL )
AS
    BEGIN
        SET NOCOUNT ON;

        UPDATE  WC
        SET     NewDevCount = @NewDevCount
              , DevelopmentName = @DevelopmentName
              , City = @City
              , [State] = @State
              , ZipCodeofNewDev = @ZipCodeofNewDev
              , ProjectStatus = @ProjectStatus
              , ShoppingCenter = @ShoppingCenter
              , ProjectStartDate = @ProjectStartDate
              , ProjectDescription = @ProjectDescription
              , ProposedAnchorTenants = @ProposedAnchorTenants
              , GLA = @GLA
              , EstCompDate = @EstCompDate
              , Developer = @Developer
              , BusinessUnit = @BusinessUnit
              , BU = @BU
              , CenterName = @CenterName
              , MSA = @MSA
              , BrixmorMSARank = @BrixmorMSARank
              , [Count] = @Count
              , Region = @Region
              , DistancefromNewDev = @DistancefromNewDev
        FROM    [dbo].[WestCompetition] AS WC
        WHERE   ( [WC].CompID = @CompID );

        SET NOCOUNT OFF;
    END
GO


ALTER PROCEDURE [dbo].[CompDev_Insert]
    ( @NewDevCount NCHAR(10) = NULL
    , @DevelopmentName NVARCHAR(255) = NULL
    , @City NVARCHAR(255) = NULL
    , @State NVARCHAR(255) = NULL
    , @ZipCodeofNewDev NCHAR(10) = NULL
    , @ProjectStatus NVARCHAR(255) = NULL
    , @ShoppingCenter NVARCHAR(255) = NULL
    , @ProjectStartDate FLOAT = NULL
    , @ProjectDescription NVARCHAR(255) = NULL
    , @ProposedAnchorTenants NVARCHAR(255) = NULL
    , @GLA NCHAR(10) = NULL
    , @EstCompDate FLOAT = NULL
    , @Developer NVARCHAR(255) = NULL
    , @BusinessUnit NCHAR(10) = NULL
    , @BU NCHAR(10) = NULL
    , @CenterName NVARCHAR(255) = NULL
    , @MSA NVARCHAR(255) = NULL
    , @BrixmorMSARank NCHAR(10) = NULL
    , @Count NCHAR(10) = NULL
    , @Region NVARCHAR(255) = NULL
    , @DistancefromNewDev NCHAR(10) = NULL )
AS
    INSERT  INTO [dbo].[WestCompetition]
            ( [NewDevCount]
            , [DevelopmentName]
            , [City]
            , [State]
            , [ZipCodeofNewDev]
            , [ProjectStatus]
            , [ShoppingCenter]
            , [ProjectStartDate]
            , [ProjectDescription]
            , [ProposedAnchorTenants]
            , [GLA]
            , [EstCompDate]
            , [Developer]
            , [BusinessUnit]
            , [BU]
            , [CenterName]
            , [MSA]
            , [BrixmorMSARank]
            , [Count]
            , [Region]
            , [DistancefromNewDev] )
    VALUES  ( @NewDevCount
            , @DevelopmentName
            , @City
            , @State
            , @ZipCodeofNewDev
            , @ProjectStatus
            , @ShoppingCenter
            , @ProjectStartDate
            , @ProjectDescription
            , @ProposedAnchorTenants
            , @GLA
            , @EstCompDate
            , @Developer
            , @BusinessUnit
            , @BU
            , @CenterName
            , @MSA
            , @BrixmorMSARank
            , @Count
            , @Region
            , @DistancefromNewDev );
GO


ALTER PROCEDURE [dbo].[CompDev_Delete] ( @CompID INT )
AS
    BEGIN
        SET NOCOUNT ON;

        DELETE  WC
        FROM    [dbo].[WestCompetition] AS WC
        WHERE   [WC].[CompID] = @CompID

        SET NOCOUNT OFF;
    END
GO

前端代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <div>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <asp:ListView ID="ListView1" runat="server" DataKeyNames="CompID" DataSourceID="SqlDataSource1" InsertItemPosition="LastItem">
                        <ItemTemplate>
                            <tr style="background-color: rgba(246, 129, 33, 1); border: 1px solid rgba(153, 153, 153, 1);">
                                <td><asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" /></td>
                                <td><asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete" /></td>
                                <td><asp:Label ID="CompIDLabel" runat="server" Text='<%# Eval("CompID") %>' /></td>
                                <td><asp:Label ID="NewDevCountLabel" runat="server" Text='<%# Eval("NewDevCount") %>' /></td>
                                <td><asp:Label ID="DevelopmentNameLabel" runat="server" Text='<%# Eval("DevelopmentName") %>' /></td>
                                <td><asp:Label ID="CityLabel" runat="server" Text='<%# Eval("City") %>' /></td>
                                <td><asp:Label ID="StateLabel" runat="server" Text='<%# Eval("State") %>' /></td>
                                <td><asp:Label ID="ZipCodeofNewDevLabel" runat="server" Text='<%# Eval("ZipCodeofNewDev") %>' /></td>
                                <td><asp:Label ID="ProjectStatusLabel" runat="server" Text='<%# Eval("ProjectStatus") %>' /></td>
                                <td><asp:Label ID="ShoppingCenterLabel" runat="server" Text='<%# Eval("ShoppingCenter") %>' /></td>
                                <td><asp:Label ID="ProjectStartDateLabel" runat="server" Text='<%# Eval("ProjectStartDate") %>' /></td>
                                <td><asp:Label ID="ProjectDescriptionLabel" runat="server" Text='<%# Eval("ProjectDescription") %>' /></td>
                                <td><asp:Label ID="ProposedAnchorTenantsLabel" runat="server" Text='<%# Eval("ProposedAnchorTenants") %>' /></td>
                                <td><asp:Label ID="GLALabel" runat="server" Text='<%# Eval("GLA") %>' /></td>
                                <td><asp:Label ID="EstCompDateLabel" runat="server" Text='<%# Eval("EstCompDate") %>' /></td>
                                <td><asp:Label ID="DeveloperLabel" runat="server" Text='<%# Eval("Developer") %>' /></td>
                                <td><asp:Label ID="BusinessUnitLabel" runat="server" Text='<%# Eval("BusinessUnit") %>' /></td>
                                <td><asp:Label ID="BULabel" runat="server" Text='<%# Eval("BU") %>' /></td>
                                <td><asp:Label ID="CenterNameLabel" runat="server" Text='<%# Eval("CenterName") %>' /></td>
                                <td><asp:Label ID="MSALabel" runat="server" Text='<%# Eval("MSA") %>' /></td>
                                <td><asp:Label ID="BrixmorMSARankLabel" runat="server" Text='<%# Eval("BrixmorMSARank") %>' /></td>
                                <td><asp:Label ID="CountLabel" runat="server" Text='<%# Eval("Count") %>' /></td>
                                <td><asp:Label ID="RegionLabel" runat="server" Text='<%# Eval("Region") %>' /></td>
                                <td><asp:Label ID="DistancefromNewDevLabel" runat="server" Text='<%# Eval("DistancefromNewDev") %>' /></td>
                            </tr>
                        </ItemTemplate>
                        <AlternatingItemTemplate>
                            <tr style="background-color: rgba(255, 255, 255, 1);">
                                <td><asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" /></td>
                                <td><asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="Delete" /></td>
                                <td><asp:Label ID="CompIDLabel" runat="server" Text='<%# Eval("CompID") %>' /></td>
                                <td><asp:Label ID="NewDevCountLabel" runat="server" Text='<%# Eval("NewDevCount") %>' /></td>
                                <td><asp:Label ID="DevelopmentNameLabel" runat="server" Text='<%# Eval("DevelopmentName") %>' /></td>
                                <td><asp:Label ID="CityLabel" runat="server" Text='<%# Eval("City") %>' /></td>
                                <td><asp:Label ID="StateLabel" runat="server" Text='<%# Eval("State") %>' /></td>
                                <td><asp:Label ID="ZipCodeofNewDevLabel" runat="server" Text='<%# Eval("ZipCodeofNewDev") %>' /></td>
                                <td><asp:Label ID="ProjectStatusLabel" runat="server" Text='<%# Eval("ProjectStatus") %>' /></td>
                                <td><asp:Label ID="ShoppingCenterLabel" runat="server" Text='<%# Eval("ShoppingCenter") %>' /></td>
                                <td><asp:Label ID="ProjectStartDateLabel" runat="server" Text='<%# Eval("ProjectStartDate") %>' /></td>
                                <td><asp:Label ID="ProjectDescriptionLabel" runat="server" Text='<%# Eval("ProjectDescription") %>' /></td>
                                <td><asp:Label ID="ProposedAnchorTenantsLabel" runat="server" Text='<%# Eval("ProposedAnchorTenants") %>' /></td>
                                <td><asp:Label ID="GLALabel" runat="server" Text='<%# Eval("GLA") %>' /></td>
                                <td><asp:Label ID="EstCompDateLabel" runat="server" Text='<%# Eval("EstCompDate") %>' /></td>
                                <td><asp:Label ID="DeveloperLabel" runat="server" Text='<%# Eval("Developer") %>' /></td>
                                <td><asp:Label ID="BusinessUnitLabel" runat="server" Text='<%# Eval("BusinessUnit") %>' /></td>
                                <td><asp:Label ID="BULabel" runat="server" Text='<%# Eval("BU") %>' /></td>
                                <td><asp:Label ID="CenterNameLabel" runat="server" Text='<%# Eval("CenterName") %>' /></td>
                                <td><asp:Label ID="MSALabel" runat="server" Text='<%# Eval("MSA") %>' /></td>
                                <td><asp:Label ID="BrixmorMSARankLabel" runat="server" Text='<%# Eval("BrixmorMSARank") %>' /></td>
                                <td><asp:Label ID="CountLabel" runat="server" Text='<%# Eval("Count") %>' /></td>
                                <td><asp:Label ID="RegionLabel" runat="server" Text='<%# Eval("Region") %>' /></td>
                                <td><asp:Label ID="DistancefromNewDevLabel" runat="server" Text='<%# Eval("DistancefromNewDev") %>' /></td>
                            </tr>
                        </AlternatingItemTemplate>
                        <EditItemTemplate>
                            <tr>
                                <td><asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" /></td>
                                <td><asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" /></td>
                                <td><asp:Label ID="CompIDLabel1" runat="server" Text='<%# Eval("CompID") %>' /></td>
                                <td><asp:TextBox ID="NewDevCountTextBox" runat="server" Text='<%# Bind("NewDevCount") %>' /></td>
                                <td><asp:TextBox ID="DevelopmentNameTextBox" runat="server" Text='<%# Bind("DevelopmentName") %>' /></td>
                                <td><asp:TextBox ID="CityTextBox" runat="server" Text='<%# Bind("City") %>' /></td>
                                <td><asp:TextBox ID="StateTextBox" runat="server" Text='<%# Bind("State") %>' /></td>
                                <td><asp:TextBox ID="ZipCodeofNewDevTextBox" runat="server" Text='<%# Bind("ZipCodeofNewDev") %>' /></td>
                                <td><asp:TextBox ID="ProjectStatusTextBox" runat="server" Text='<%# Bind("ProjectStatus") %>' /></td>
                                <td><asp:TextBox ID="ShoppingCenterTextBox" runat="server" Text='<%# Bind("ShoppingCenter") %>' /></td>
                                <td><asp:TextBox ID="ProjectStartDateTextBox" runat="server" Text='<%# Bind("ProjectStartDate") %>' /></td>
                                <td><asp:TextBox ID="ProjectDescriptionTextBox" runat="server" Text='<%# Bind("ProjectDescription") %>' /></td>
                                <td><asp:TextBox ID="ProposedAnchorTenantsTextBox" runat="server" Text='<%# Bind("ProposedAnchorTenants") %>' /></td>
                                <td><asp:TextBox ID="GLATextBox" runat="server" Text='<%# Bind("GLA") %>' /></td>
                                <td><asp:TextBox ID="EstCompDateTextBox" runat="server" Text='<%# Bind("EstCompDate") %>' /></td>
                                <td><asp:TextBox ID="DeveloperTextBox" runat="server" Text='<%# Bind("Developer") %>' /></td>
                                <td><asp:TextBox ID="BusinessUnitTextBox" runat="server" Text='<%# Bind("BusinessUnit") %>' /></td>
                                <td><asp:TextBox ID="BUTextBox" runat="server" Text='<%# Bind("BU") %>' /></td>
                                <td><asp:TextBox ID="CenterNameTextBox" runat="server" Text='<%# Bind("CenterName") %>' /></td>
                                <td><asp:TextBox ID="MSATextBox" runat="server" Text='<%# Bind("MSA") %>' /></td>
                                <td><asp:TextBox ID="BrixmorMSARankTextBox" runat="server" Text='<%# Bind("BrixmorMSARank") %>' /></td>
                                <td><asp:TextBox ID="CountTextBox" runat="server" Text='<%# Bind("Count") %>' /></td>
                                <td><asp:TextBox ID="RegionTextBox" runat="server" Text='<%# Bind("Region") %>' /></td>
                                <td><asp:TextBox ID="DistancefromNewDevTextBox" runat="server" Text='<%# Bind("DistancefromNewDev") %>' /></td>
                            </tr>
                        </EditItemTemplate>
                        <EmptyDataTemplate>
                            <table runat="server" style="">
                                <tr>
                                    <td>No data was returned.</td>
                                </tr>
                            </table>
                        </EmptyDataTemplate>
                        <InsertItemTemplate>
                            <tr style="">
                                <td><asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" /></td>
                                <td><asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" /></td>
                                <td>&nbsp;</td>
                                <td><asp:TextBox ID="NewDevCountTextBox" runat="server" Text='<%# Bind("NewDevCount") %>' /></td>
                                <td><asp:TextBox ID="DevelopmentNameTextBox" runat="server" Text='<%# Bind("DevelopmentName") %>' /></td>
                                <td><asp:TextBox ID="CityTextBox" runat="server" Text='<%# Bind("City") %>' /></td>
                                <td><asp:TextBox ID="StateTextBox" runat="server" Text='<%# Bind("State") %>' /></td>
                                <td><asp:TextBox ID="ZipCodeofNewDevTextBox" runat="server" Text='<%# Bind("ZipCodeofNewDev") %>' /></td>
                                <td><asp:TextBox ID="ProjectStatusTextBox" runat="server" Text='<%# Bind("ProjectStatus") %>' /></td>
                                <td><asp:TextBox ID="ShoppingCenterTextBox" runat="server" Text='<%# Bind("ShoppingCenter") %>' /></td>
                                <td><asp:TextBox ID="ProjectStartDateTextBox" runat="server" Text='<%# Bind("ProjectStartDate") %>' /></td>
                                <td><asp:TextBox ID="ProjectDescriptionTextBox" runat="server" Text='<%# Bind("ProjectDescription") %>' /></td>
                                <td><asp:TextBox ID="ProposedAnchorTenantsTextBox" runat="server" Text='<%# Bind("ProposedAnchorTenants") %>' /></td>
                                <td><asp:TextBox ID="GLATextBox" runat="server" Text='<%# Bind("GLA") %>' /></td>
                                <td><asp:TextBox ID="EstCompDateTextBox" runat="server" Text='<%# Bind("EstCompDate") %>' /></td>
                                <td><asp:TextBox ID="DeveloperTextBox" runat="server" Text='<%# Bind("Developer") %>' /></td>
                                <td><asp:TextBox ID="BusinessUnitTextBox" runat="server" Text='<%# Bind("BusinessUnit") %>' /></td>
                                <td><asp:TextBox ID="BUTextBox" runat="server" Text='<%# Bind("BU") %>' /></td>
                                <td><asp:TextBox ID="CenterNameTextBox" runat="server" Text='<%# Bind("CenterName") %>' /></td>
                                <td><asp:TextBox ID="MSATextBox" runat="server" Text='<%# Bind("MSA") %>' /></td>
                                <td><asp:TextBox ID="BrixmorMSARankTextBox" runat="server" Text='<%# Bind("BrixmorMSARank") %>' /></td>
                                <td><asp:TextBox ID="CountTextBox" runat="server" Text='<%# Bind("Count") %>' /></td>
                                <td><asp:TextBox ID="RegionTextBox" runat="server" Text='<%# Bind("Region") %>' /></td>
                                <td><asp:TextBox ID="DistancefromNewDevTextBox" runat="server" Text='<%# Bind("DistancefromNewDev") %>' /></td>
                            </tr>
                        </InsertItemTemplate>
                        <LayoutTemplate>
                            <table runat="server">
                                <tr runat="server">
                                    <td runat="server">
                                        <table id="itemPlaceholderContainer" runat="server" border="0" style="">
                                            <tr runat="server" style="background-color: rgba(122, 21, 1, 1); font-weight: bold; color: rgba(255, 255, 255, 1);">
                                                <th runat="server"></th>
                                                <th runat="server"></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton1" style="color: rgba(255, 255, 255, 1);" Text="CompID" CommandName="Sort" CommandArgument="CompID" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton2" style="color: rgba(255, 255, 255, 1);" Text="NewDevCount" CommandName="Sort" CommandArgument="NewDevCount" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton3" style="color: rgba(255, 255, 255, 1);" Text="DevelopmentName" CommandName="Sort" CommandArgument="DevelopmentName" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton4" style="color: rgba(255, 255, 255, 1);" Text="City" CommandName="Sort" CommandArgument="City" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton5" style="color: rgba(255, 255, 255, 1);" Text="State" CommandName="Sort" CommandArgument="State" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton6" style="color: rgba(255, 255, 255, 1);" Text="ZipCodeofNewDev" CommandName="Sort" CommandArgument="ZipCodeofNewDev" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton7" style="color: rgba(255, 255, 255, 1);" Text="ProjectStatus" CommandName="Sort" CommandArgument="ProjectStatus" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton8" style="color: rgba(255, 255, 255, 1);" Text="ShoppingCenter" CommandName="Sort" CommandArgument="ShoppingCenter" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton9" style="color: rgba(255, 255, 255, 1);" Text="ProjectStartDate" CommandName="Sort" CommandArgument="ProjectStartDate" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton10" style="color: rgba(255, 255, 255, 1);" Text="ProjectDescription" CommandName="Sort" CommandArgument="ProjectDescription" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton11" style="color: rgba(255, 255, 255, 1);" Text="ProposedAnchorTenants" CommandName="Sort" CommandArgument="ProposedAnchorTenants" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton12" style="color: rgba(255, 255, 255, 1);" Text="GLA" CommandName="Sort" CommandArgument="GLA" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton13" style="color: rgba(255, 255, 255, 1);" Text="EstCompDate" CommandName="Sort" CommandArgument="EstCompDate" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton14" style="color: rgba(255, 255, 255, 1);" Text="Developer" CommandName="Sort" CommandArgument="Developer" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton15" style="color: rgba(255, 255, 255, 1);" Text="BusinessUnit" CommandName="Sort" CommandArgument="BusinessUnit" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton16" style="color: rgba(255, 255, 255, 1);" Text="BU" CommandName="Sort" CommandArgument="BU" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton17" style="color: rgba(255, 255, 255, 1);" Text="CenterName" CommandName="Sort" CommandArgument="CenterName" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton18" style="color: rgba(255, 255, 255, 1);" Text="MSA" CommandName="Sort" CommandArgument="MSA" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton19" style="color: rgba(255, 255, 255, 1);" Text="BrixmorMSARank" CommandName="Sort" CommandArgument="BrixmorMSARank" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton20" style="color: rgba(255, 255, 255, 1);" Text="Count" CommandName="Sort" CommandArgument="Count" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton21" style="color: rgba(255, 255, 255, 1);" Text="Region" CommandName="Sort" CommandArgument="Region" /></th>
                                                <th runat="server"><asp:LinkButton runat="server" ID="LinkButton22" style="color: rgba(255, 255, 255, 1);" Text="DistancefromNewDev" CommandName="Sort" CommandArgument="DistancefromNewDev" /></th>
                                            </tr>
                                            <tr id="itemPlaceholder" runat="server">
                                            </tr>
                                        </table>
                                    </td>
                                </tr>
                                <tr runat="server" style="background-color: rgba(237, 45, 34, 1); color: rgba(0, 0, 0, 1); text-align: left;">
                                    <td runat="server">
                                        <asp:DataPager ID="DataPager1" runat="server">
                                            <Fields>
                                                <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowLastPageButton="True" />
                                            </Fields>
                                        </asp:DataPager>
                                    </td>
                                </tr>
                            </table>
                        </LayoutTemplate>                        
                    </asp:ListView>
                    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CnnStr %>" DeleteCommand="CompDev_Delete" DeleteCommandType="StoredProcedure" InsertCommand="CompDev_Insert" InsertCommandType="StoredProcedure" SelectCommand="CompDev_Select" SelectCommandType="StoredProcedure" UpdateCommand="CompDev_Update" UpdateCommandType="StoredProcedure">
                        <DeleteParameters>
                            <asp:Parameter Name="CompID" Type="Int32" />
                        </DeleteParameters>
                        <InsertParameters>
                            <asp:Parameter Name="NewDevCount" Type="String" />
                            <asp:Parameter Name="DevelopmentName" Type="String" />
                            <asp:Parameter Name="City" Type="String" />
                            <asp:Parameter Name="State" Type="String" />
                            <asp:Parameter Name="ZipCodeofNewDev" Type="String" />
                            <asp:Parameter Name="ProjectStatus" Type="String" />
                            <asp:Parameter Name="ShoppingCenter" Type="String" />
                            <asp:Parameter Name="ProjectStartDate" Type="Double" />
                            <asp:Parameter Name="ProjectDescription" Type="String" />
                            <asp:Parameter Name="ProposedAnchorTenants" Type="String" />
                            <asp:Parameter Name="GLA" Type="String" />
                            <asp:Parameter Name="EstCompDate" Type="Double" />
                            <asp:Parameter Name="Developer" Type="String" />
                            <asp:Parameter Name="BusinessUnit" Type="String" />
                            <asp:Parameter Name="BU" Type="String" />
                            <asp:Parameter Name="CenterName" Type="String" />
                            <asp:Parameter Name="MSA" Type="String" />
                            <asp:Parameter Name="BrixmorMSARank" Type="String" />
                            <asp:Parameter Name="Count" Type="String" />
                            <asp:Parameter Name="Region" Type="String" />
                            <asp:Parameter Name="DistancefromNewDev" Type="String" />
                        </InsertParameters>
                        <UpdateParameters>
                            <asp:Parameter Name="CompID" Type="Int32" />
                            <asp:Parameter Name="NewDevCount" Type="String" />
                            <asp:Parameter Name="DevelopmentName" Type="String" />
                            <asp:Parameter Name="City" Type="String" />
                            <asp:Parameter Name="State" Type="String" />
                            <asp:Parameter Name="ZipCodeofNewDev" Type="String" />
                            <asp:Parameter Name="ProjectStatus" Type="String" />
                            <asp:Parameter Name="ShoppingCenter" Type="String" />
                            <asp:Parameter Name="ProjectStartDate" Type="Double" />
                            <asp:Parameter Name="ProjectDescription" Type="String" />
                            <asp:Parameter Name="ProposedAnchorTenants" Type="String" />
                            <asp:Parameter Name="GLA" Type="String" />
                            <asp:Parameter Name="EstCompDate" Type="Double" />
                            <asp:Parameter Name="Developer" Type="String" />
                            <asp:Parameter Name="BusinessUnit" Type="String" />
                            <asp:Parameter Name="BU" Type="String" />
                            <asp:Parameter Name="CenterName" Type="String" />
                            <asp:Parameter Name="MSA" Type="String" />
                            <asp:Parameter Name="BrixmorMSARank" Type="String" />
                            <asp:Parameter Name="Count" Type="String" />
                            <asp:Parameter Name="Region" Type="String" />
                            <asp:Parameter Name="DistancefromNewDev" Type="String" />
                        </UpdateParameters>
                    </asp:SqlDataSource>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </form>
</body>
</html>

所以 - 我做了什么: 我设置了一个简单的列表视图,挂钩到web.config中的连接字符串。 listview有一个连接到该连接字符串的SQL数据源,它使用上面的存储过程进行数据CRUD操作。我甚至添加了你的风格,所以LV看起来像你的GV。

如果你不接受这个作为你的答案,我很好,因为我没有从技术上修复你的gridview问题,而是替换它们。也就是说,使用此解决方案可以使您的工作顺利进行。 :)