之前发了几个贴都没有得到解答,看来只有高手们才能解决了,分不够可以继续加!
我利用SqlCommandBuilder在DataGrid里面进行数据的更新,因为以前都是用SQL语句写的,但这次要求不一样,所以改用SqlCommandBuilder了,代码如下:
public class table : System.Web.UI.Page
{protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
public DataSet ds = new DataSet();
private void Page_Load(object sender, System.EventArgs e)
{// 在此处放置用户代码以初始化页面
SqlConnection conn=new SqlConnection("server=LY;database=KQXXGLXT;uid=usoft;pwd=");
SqlDataAdapter ap = new SqlDataAdapter("select * from Kqzdzbsjb",conn);
conn.Open();
ap.Fill(ds,"st");
DataGrid1.DataSource=ds.Tables["st"];
DataGrid1.DataBind();
Session["ds"] = ds;
}
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{string a;
int item_count;
item_count=e.Item.Cells.Count;
for(int i=1;i<item_count;i++)
{
a=((TextBox)e.Item.Cells[i+1].Controls[0]).Text;
ds.Tables["st"].Rows[e.Item.DataSetIndex][i-1]=a;
}
SqlConnection conn=new SqlConnection("server=LY;database=KQXXGLXT;uid=usoft;pwd=");
SqlDataAdapter ap = new SqlDataAdapter("select * from Kqzdzbsjb", conn);
SqlCommandBuilder cb=new SqlCommandBuilder(ap);
conn.Open();
ap.UpdateCommand=cb.GetUpdateCommand();
ds=(DataSet)Session["ds"];
ap.Update(ds,"st");
DataGrid1.EditItemIndex=-1;
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
}
表得格式试这样得
——————————————————————————
‖ ‖ ‖ cloum0‖ cloum1 ‖ cloum2 ‖
——————————————————————————
‖ 编辑 ‖ 删除 ‖ abc ‖ abc ‖ abc ‖
——————————————————————————
‖ 编辑 ‖ 删除 ‖ abc ‖ abc ‖ abc ‖
——————————————————————————
可是数据并没有执行更新,请大家看看问题出在哪里