2005下 Winform+access 就DataAdapter的update问题!!! DataSet里的记录可以更新,但是用DataAdapter.update(dataset);并未更新到数据库,这是为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 datagrid批量更新数据,我的源码:String Con = ConfigurationSettings.AppSettings["con"];SqlConnection con = new SqlConnection(Con);‘连接数据库SqlDataAdapter da=new SqlDataAdapter();da.SelectCommand = new SqlCommand("select * from mudanka1", con);SqlCommandBuilder cb=new SqlCommandBuilder(da);DataSet ds=new DataSet();da.Fill(ds,"table1");DataTable table=ds.Tables["table1"];table.PrimaryKey=new DataColumn[]{table.Columns["id"]};‘设置主键foreach (DataGridItem di in DataGrid1.Items)’循环批量更新{if (di.ItemType == ListItemType.Item || di.ItemType == ListItemType.AlternatingItem) {DataRow dr=ds.Tables["table1"].Rows.Find(DataGrid1.DataKeys[di.ItemIndex]);dr["yesno"]=((DropDownList)di.FindControl("DropDownList2")).SelectedItem.ToString();dr["problem"]=((TextBox)di.FindControl("txt_problem")).Text;dr["findtime"]=((TextBox)di.FindControl("txt_findtime")).Text;dr["timelimit"]=((TextBox)di.FindControl("txt_timelimit")).Text;dr["zhihang"]=Request.QueryString["zhihang"];dr["wangdian"]=Request.QueryString["wangdian"];}}this.DataGrid1.EditItemIndex=-1;da.Update(ds,"table1");还有最关键的一步就是,点选你的datagrid,必须将它的属性datakeyfield填写上你的表主键。 你是否设置DataAdapter的其他command,参看http://blog.csdn.net/Knight94/archive/2006/04/15/664530.aspx 已经解决了原因可能有二:一,是因为运行时,自动将数据库复制到bin文件夹下面,是连接的问题二,权限的问题谢谢二位 System::Collections::ArrayList 类的深层拷贝和浅层拷贝. 求指导. C# 如何实现一个窗体多个页面 有关多线程状态的判断! 初学者小问题 timer里当函数执行时间很长时怎么解决? To:长江支流(金质打印通实现不了的功能) ■■■要命!!.net在安装部署如何把frame框架加到安装文件??? Winform中添加记录时有单引号‘时报错!! C#的跨对象操作问题初探,希望你来看看,发表一下见解。 devexpress下拉框的设置问题 请教一个关于网页抓取的问题 c#里怎么连接远程的postgreSql?
String Con = ConfigurationSettings.AppSettings["con"];
SqlConnection con = new SqlConnection(Con);‘连接数据库
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand = new SqlCommand("select * from mudanka1", con);
SqlCommandBuilder cb=new SqlCommandBuilder(da);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable table=ds.Tables["table1"];
table.PrimaryKey=new DataColumn[]{table.Columns["id"]};‘设置主键
foreach (DataGridItem di in DataGrid1.Items)’循环批量更新
{
if (di.ItemType == ListItemType.Item || di.ItemType == ListItemType.AlternatingItem)
{
DataRow dr=ds.Tables["table1"].Rows.Find(DataGrid1.DataKeys[di.ItemIndex]);
dr["yesno"]=((DropDownList)di.FindControl("DropDownList2")).SelectedItem.ToString();
dr["problem"]=((TextBox)di.FindControl("txt_problem")).Text;
dr["findtime"]=((TextBox)di.FindControl("txt_findtime")).Text;
dr["timelimit"]=((TextBox)di.FindControl("txt_timelimit")).Text;
dr["zhihang"]=Request.QueryString["zhihang"];
dr["wangdian"]=Request.QueryString["wangdian"];
}
}
this.DataGrid1.EditItemIndex=-1;
da.Update(ds,"table1");还有最关键的一步就是,点选你的datagrid,必须将它的属性datakeyfield填写上你的表主键。
http://blog.csdn.net/Knight94/archive/2006/04/15/664530.aspx
原因可能有二:
一,是因为运行时,自动将数据库复制到bin文件夹下面,是连接的问题
二,权限的问题
谢谢二位