当前位置:编程学习 > C#/ASP.NET >>

新手请教个技术问题

                 cur = this.BindingContext[dsScore, "score"].Position;
                 dsScore.Tables["score"].Rows[cur]["courseID"] = "aa";
                    
                 dsScore.Tables["score"].Rows[cur]["score"] = textBox3.Text;
                 myDataAdapter.Update(dsScore, "score");

dsScore是以个DataSet对象  score是一个表 
 为什么这样不能更新数据库的?如果建立一个新行来倒是可以更新数据库的
请大家帮帮忙哈 一直没找出个所以然来
--------------------编程问答--------------------

//cur是当前记录的位置
cur = this.BindingContext[dsScore, "score"].Position;

//这只会修改数据,而不会新增数据!
  dsScore.Tables["score"].Rows[cur]["courseID"] = "aa";
   
  dsScore.Tables["score"].Rows[cur]["score"] = textBox3.Text;
--------------------编程问答--------------------
引用 1 楼 computerfox 的回复:
C# code

//cur是当前记录的位置
cur = this.BindingContext[dsScore, "score"].Position;

//这只会修改数据,而不会新增数据!
  dsScore.Tables["score"].Rows[cur]["courseID"] = "aa";
   
  dsScore.Tables["score"].Rows[cur]["scor……

嗯 --------------------编程问答-------------------- myDataAdapter.Update(dsScore, "score"); 这个不能把修改的数据 更新到score表 中吗?

如果这样不行
能不能介绍个修改 数据的方法哈?谢谢了 --------------------编程问答-------------------- 你是否为SqlDataAdapter设置了更新逻辑?没有更新逻辑肯定是无法更新的,试试看这样?

//加入这一句,用SqlCommandBuilder为SqlDataAdapter自动生成更新逻辑
SqlCommandBuilder sqlBuilder=new SqlCommandBuilder(myDataAdapter);
--------------------编程问答-------------------- 更新逻辑 我前面是设置过了的

如果我新加一行数据 再进行更新 数据库里面是更新了的 但是我如果修改原有的行的话 就实现不了数据库的更新

 其实我很想把代码全都拷出来  怕占了页面  --------------------编程问答--------------------
引用 5 楼 h38217482 的回复:
更新逻辑 我前面是设置过了的

如果我新加一行数据 再进行更新 数据库里面是更新了的 但是我如果修改原有的行的话 就实现不了数据库的更新

 其实我很想把代码全都拷出来  怕占了页面

检查下这两个更新存在什么区别,估计少点东西 --------------------编程问答-------------------- 公司要关门 得走了  

明天我把代码整理下 缩减一下
全贴上来 再来请教大家哈 
 
真的谢谢各位了  能写 一下 关于修改原有行再更新数据库的代码吗?我借鉴一下 --------------------编程问答-------------------- 你的表里有几个元素,有主键吗,没有主键的话,建立一个主键试一下,主键不能是你要修改的元素 --------------------编程问答-------------------- 还要ds.acceptchanges();
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,