【发布时间】:2014-02-20 17:01:58
【问题描述】:
我遇到了问题,但没有抛出任何错误。发生的事情是我有一个存储过程正在驱动我的更新,但我无法让 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
结束
这是我的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>
我做错了什么导致更新不会发生?为什么当它不更新时我没有收到任何错误?
【问题讨论】:
标签: c# asp.net sql-server gridview