为什么C#的SqlCommandBuilder的对象修改不了数据答的? 5

(我试过但不行,我的是单表查询的)... (我试过但不行,我的是单表查询的) 展开
 我来答
cxl1314cjw
2012-01-30 · TA获得超过1074个赞
知道小有建树答主
回答量:776
采纳率:100%
帮助的人:459万
展开全部
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 = 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()转换。如果还不行,把你的代码全部贴出来、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjb0824
2012-01-30
知道答主
回答量:16
采纳率:0%
帮助的人:13.2万
展开全部
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();//关闭数据库
追问
adapter3 = new SqlDataAdapter(sql, db2.Conn);//实例化对象并连接数据库
adapter3.Fill(ds, "ds");
dgvShow.DataSource = ds.Tables["ds"];//绑定数据源
adapter3.Update(ds, "ds");
这样我就是不知道哪错?改数据改不了?不知道为什么?可以帮我找一下吗
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
26779260
2012-01-31 · TA获得超过229个赞
知道答主
回答量:124
采纳率:0%
帮助的人:139万
展开全部
你的表里不知道有没有主键,这是必须要有的,我以前就遇到过这个问题,如果有主键还是无法更改,我就帮不了你了
追问
嗯,这个真帮不了了,因为有主键的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yueliang5836
2012-01-30 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:49.3万
展开全部
上面的已经很详细了
追问
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,你试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式