2014-02-20 49 views
0

我有一個問題,但我沒有得到任何錯誤拋出。發生了什麼事情是我有一個存儲過程驅動我的更新,但我無法獲取gridview更新。ASP.Net C#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 [email protected], [email protected], 
    [email protected], [State][email protected], [email protected], [email protected], 
    [email protected], [email protected], [email protected], 
    [email protected], [email protected], [email protected], 
    [email protected], [email protected], [email protected], [email protected], 
    [email protected], [email protected], [Count][email protected], [email protected], 
    [email protected] 
    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> 

我在做什麼錯, e更新不會發生?爲什麼我沒有收到任何更新時拋出的錯誤?

回答

1

因爲您沒有執行您的查詢。

嘗試用

command.ExecuteNonQuery(); 

,或者您需要設置DataAdapter的

da.UpdateCommand = command; 
+0

UpdateCommand財產這沒有奏效。我仍然卡住。我不知道我需要在這裏做什麼。 – sshackles