回答

收藏

使用边界域时如何更新GridView

技术问答 技术问答 189 人阅读 | 0 人回复 | 2023-09-14

我有一个GridView,它绑定到数据库中。我发现它正在更新GridView 数据库中的困难和相应的表。
) t4 H8 f5 N% U# t' n* Z我GridView绑定到SQLdatasource之后的asp代码是:
6 X* S2 [1 m. R  Z                                        "     SelectCommand="SELECT * FROM [Quantity]">我的数据键是位置及其只读。
" h) N" R( E5 N6 t- J! S: u用于更新的.cs代码为:
9 N  w5 e0 ^: D5 A6 I1 U; |- rprotected void GridView2_RowUpdating(object sender,GridViewUpdateEventArgs e)                                                                                                                                                                                                                 SqlConnection con = new SqlConnection("Data Source=ARCHANA-PC\\ARCHANA;Initial Catalog=TouchPad;Integrated Security=True");        string LocName = GridView2.DataKeys[e.RowIndex].Values["Locations"].ToString();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TextBox txt1 = (TextBox)GridView2.Rows[e.RowIndex].FindControl("Lamp_pro4");        TextBox txt2 = (TextBox)GridView2.Rows[e.RowIndex].FindControl("Lamp_pro5");        TextBox txt3 = (TextBox)GridView2.Rows[e.RowIndex].FindControl("AC_Profile5");        string updStmt = "UPDATE Quantity set Lamp_pro4=@Lamp_pro4,Lamp_pro5=@Lamp_pro5,AC_Profile5=@AC_Profile5 where Locations=@locName";        con.Open();        SqlCommand updCmd = new SqlCommand(updStmt,con);        updCmd.Parameters.AddWithValue("@locName",LocName);        updCmd.Parameters.AddWithValue("@Lamp_pro4",txt1.Text);        updCmd.Parameters.AddWithValue("@Lamp_pro5",txt2.Text);        updCmd.Parameters.AddWithValue("@AC_Profile5",txt3.Text);        updCmd.ExecuteNonQuery();        GridView2.DataBind();               
, C" g2 F4 l' u/ G7 B+ ?4 ]    解决方案:                                                                - k3 m  v) a" k& J
                                                                1)您必须GridView2.DataBind()治疗结束时打电话
0 P7 I. _# x- C: Nprotected void GridView2_RowUpdating(object sender,GridViewUpdateEventArgs e){     GridViewRow row = (GridViewRow)GridView2.Rows[e.RowIndex];    string LocName = GridView2.DataKeys[e.RowIndex].Values["Locations"].ToString();     TextBox txt1 = (TextBox)GridView2.Rows[e.RowIndex].FindControl("Lamp_pro4");    TextBox txt2 = (TextBox)GridView2.Rows[e.RowIndex].FindControl("Lamp_pro5");    TextBox txt3 = (TextBox)GridView2.Rows[e.RowIndex].FindControl("AC_Profile5");    con.Open();     SqlCommand cmd = new SqlCommand("UPDATE Quantity set Lamp_pro4='"   txt1.Text   "',Lamp_pro5='"   txt2.Text   "',AC_Profile5='"   txt3.Text   "' where Locations="   LocName,con);    cmd.ExecuteNonQuery();     con.Close();     GridView2.EditIndex = -1.     ///BindQuantity();     GridView2.DataBind();}2)UpdateCommand定义你SqlDataSource
* Y9 `' N5 }' g" ^7 V  ?"     SelectCommand="SELECT * FROM [Quantity]"    UpdateCommand="UPDATE Quantity set Lamp_pro4 = @Lamp_pro4 ,Lamp_pro5=@Lamp_pro5,AC_Profile5=@AC_Profile5 where Locations=@Locations">链接:http :
9 y7 q% b8 _6 J- b. `0 y* B: D//msdn.microsoft.com/fr-, |' l: E& i4 u3 e6 h
fr/library/system.web.ui.webcontrols.sqldatasource.updatecommand.aspx
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则