4个回答
展开全部
adapter3 = new SqlDataAdapter(sql, db2.Conn);//实例化对象并连接数据库
adapter3.Fill(ds, "ds");
dgvShow.DataSource = ds.Tables["ds"];//绑定数据源
adapter3.Update(ds, "ds");
上面这是你的疑问修改不了数据对不?
解决办法:
//使用SqlCommandBuilder构建Command命令
SqlCommandBuilder builder=new SqlCommandBuilder (adapter3)
//将数据集中ds表的数据提交给数据库更新。
adapter3.Update(ds, "ds");
adapter3.Fill(ds, "ds");
dgvShow.DataSource = ds.Tables["ds"];//绑定数据源
adapter3.Update(ds, "ds");
上面这是你的疑问修改不了数据对不?
解决办法:
//使用SqlCommandBuilder构建Command命令
SqlCommandBuilder builder=new SqlCommandBuilder (adapter3)
//将数据集中ds表的数据提交给数据库更新。
adapter3.Update(ds, "ds");
更多追问追答
追问
adapter3 = new SqlDataAdapter(sql, db2.Conn);//实例化对象并连接数据库
adapter3.Fill(ds, "ds");
dgvShow.DataSource = ds.Tables["ds"];//绑定数据源
SqlCommandBuilder builder=new SqlCommandBuilder (adapter3)
adapter3.Update(ds, "ds");
不知道为何还是不可以,逻辑上是没有错,可是找不出原因来纠结中啊
追答
adapter3 = new SqlDataAdapter(sql.ToString(), db2.Conn);//实例化对象并连接数据库
sql看看是不是类型问题,如果不是string类型加上ToString()转换。如果还不行,把你的代码全部贴出来、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SqlCommandBuilder
作用:c#中用来批量更新数据库
用法:一般和adapter结合使用。
例:
SqlConnection conn = new SqlConnection(strConnection));//连接数据库
DataSet ds=new DataSet();
SqlDataAdapter myAdapter = new SqlDataAdapter();//new一个adapter对象
adapter.SelectCommand = new SqlCommand("select * from "+strTblName),(SqlConnection) conn); //cmd
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter); //new 一个 SqlCommandBuilder
myAdapter.Fill(ds);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();//插入
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();//更新
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();//删除
conn.Open();//打开数据库
myAdapter.Update(ds); //更新ds到数据库
conn.Close();//关闭数据库
作用:c#中用来批量更新数据库
用法:一般和adapter结合使用。
例:
SqlConnection conn = new SqlConnection(strConnection));//连接数据库
DataSet ds=new DataSet();
SqlDataAdapter myAdapter = new SqlDataAdapter();//new一个adapter对象
adapter.SelectCommand = new SqlCommand("select * from "+strTblName),(SqlConnection) conn); //cmd
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter); //new 一个 SqlCommandBuilder
myAdapter.Fill(ds);
myAdapter.InsertCommand = myCommandBuilder .GetInsertCommand();//插入
myAdapter.UpdateCommand = myCommandBuilder .GetUpdateCommand();//更新
myAdapter.DeleteCommand = myCommandBuilder .GetDeleteCommand();//删除
conn.Open();//打开数据库
myAdapter.Update(ds); //更新ds到数据库
conn.Close();//关闭数据库
追问
adapter3 = new SqlDataAdapter(sql, db2.Conn);//实例化对象并连接数据库
adapter3.Fill(ds, "ds");
dgvShow.DataSource = ds.Tables["ds"];//绑定数据源
adapter3.Update(ds, "ds");
这样我就是不知道哪错?改数据改不了?不知道为什么?可以帮我找一下吗
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的表里不知道有没有主键,这是必须要有的,我以前就遇到过这个问题,如果有主键还是无法更改,我就帮不了你了
追问
嗯,这个真帮不了了,因为有主键的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的已经很详细了
追问
adapter3 = new SqlDataAdapter(sql, db2.Conn);//实例化对象并连接数据库
adapter3.Fill(ds, "ds");
dgvShow.DataSource = ds.Tables["ds"];//绑定数据源
adapter3.Update(ds, "ds");
这样我就是不知道哪错?改数据改不了?不知道为什么?可以帮我找一下吗
追答
你的adapter3不是已经有sql语句了吗?你在修改的时候应该还有一条sql语句吧,你怎么能都用一个sql呢?建议你把思路理清了在写代码。如果上面的问题解决了还是不能解决问题,你就在看一下你的page_load事件里面有没有绑定dgvshow的语句,如果有,建议你做个判断,不要再修改时也绑定一遍dgvshow,你试试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询