datagrid添加,编辑,删除数据???? 那么你可以先定义一个DataTable,将DataTable中的数据绑定到DataGrid,那么这样你的操作是对DataTable,并没有操作数据库,最后通过SqlCommandBuilder向数据库提交。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能具体说说对datatable的上述三种操作吗?^_^重要的是怎样知道我在datagrid中要修改的行,是datatable中的哪一行呢?二者如何对应 1、首先grid必须绑定到DataSet.2、写好 Adapter.InsertCommand Adapter.UpdateCommand Adapter.DeleteCommand当然也可以CommandBuilder生成。3、在grid中编缉后,调用Adapter.Update(dataset),添加,编辑,删除数据的结果就一定保存在数据库中了。4、建议系统地看一下ado.net的书,学习.net这些概念性的东西一定要非常清楚。 dataGrid 是直接对数据库进行操作的要想解决你的问题应该加一个过度的datatable这样就可以了 dataGrid中的CurrentRowIndex属性就代表当前的行数,也可以依靠他来对应dataTable中的行。不过无需知道datagrid中的行和datatable中行的对应关系。update的时候就全部更新了。其他按 river723(hwg) 说的就ok了。 private void DelectItem(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)//删除操作 { System.Data.OleDb.OleDbTransaction OTr; this.DataSelect.CommandText = "DELETE FROM CallBoardTable WHERE ID="+e.Item.Cells[0].Text.Trim()+""; this.MyConn.Open(); OTr = this.MyConn.BeginTransaction(); this.DataSelect.Transaction = OTr; try { this.DataSelect.ExecuteNonQuery(); OTr.Commit(); this.Page.RegisterStartupScript("dsd","<Script language='JavaScript'>window.alert('删除成功!')</Script>"); this.MyConn.Close(); DataGridBinding(); FileNameBinding(); } catch { OTr.Rollback(); this.Page.RegisterStartupScript("dsd","<Script language='JavaScript'>window.alert('删除失败!')</Script>"); } } DataGrid有关键字的,通过关键字可以知道是编辑的哪个行,编辑或做了其他的操作后重新绑定一次。要知道,你每次都是在对DataTable在操作,并没有操作数据库,等确定后就可以通过SqlCommandBuilder向数据库批量提交了。 C#中有点难度的XML解析,高手请进 datatable select() error求教 一个画图的最简单问题,简直就是送分! WMI访问权限问题 请教把XML文件中的数据插入数据库中的速度优化问题! 求助一个关于ActiveX的问题 关于.net做Pocket PC应用程序的问题 c# 字符串替换 关于DATAGRID的问题!? 索引超出数组界限,求助!! 用C#写服务器程序,比如流媒体服务器,可以不?谁能回答? 孟子E章,请进! 请教您http://dotnet.aspx.cc/首页(asp.net /c# /vb.net/webservice等)布局及调用数据库显示问题!
2、写好 Adapter.InsertCommand
Adapter.UpdateCommand
Adapter.DeleteCommand
当然也可以CommandBuilder生成。
3、在grid中编缉后,调用Adapter.Update(dataset),添加,编辑,删除数据的结果就一定保存在数据库中了。
4、建议系统地看一下ado.net的书,学习.net这些概念性的东西一定要非常清楚。
要想解决你的问题应该加一个过度的datatable
这样就可以了
{
System.Data.OleDb.OleDbTransaction OTr;
this.DataSelect.CommandText = "DELETE FROM CallBoardTable WHERE ID="+e.Item.Cells[0].Text.Trim()+"";
this.MyConn.Open();
OTr = this.MyConn.BeginTransaction();
this.DataSelect.Transaction = OTr; try
{
this.DataSelect.ExecuteNonQuery();
OTr.Commit();
this.Page.RegisterStartupScript("dsd","<Script language='JavaScript'>window.alert('删除成功!')</Script>");
this.MyConn.Close(); DataGridBinding();
FileNameBinding();
}
catch
{
OTr.Rollback();
this.Page.RegisterStartupScript("dsd","<Script language='JavaScript'>window.alert('删除失败!')</Script>");
}
}