CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

DataAdapter的Update()应该怎么用?在线!

楼主gaiwa(我不是大侠)2005-01-21 11:32:44 在 .NET技术 / VB.NET 提问

DataAdapter有个Update方法,参数可以接DataSet  
  要怎么做才能让DataSet里新增的行更新到数据源?  
  我用DataAdapter.Update(ds)后,数据源没有反应.         'ds是一个DataSet 问题点数:20、回复次数:15Top

1 楼gaiwa(我不是大侠)回复于 2005-01-21 11:35:21 得分 0

这个问题是我学.Net目前的最大问题Top

2 楼seaonce(雨花中的小皮鞋)回复于 2005-01-21 11:47:07 得分 0

最好一步直接到数据源,建议不要用它这种导两次的方法Top

3 楼3tzjq(永不言弃)回复于 2005-01-21 11:56:32 得分 0

Dim   dt   As   DataTable  
        dt   =   Me.DsUserManager1.WorkUser.GetChanges(drsEnum)  
        intCounter   +=   Me.sdaUserManager.Update(dt)  
        dt.AcceptChanges()Top

4 楼lzmtw(水如烟)回复于 2005-01-21 11:57:18 得分 0

要DataAdapter.Update(ds)有效果,其前提是:  
  1、DataAdapter的UpdateCommand.CommandText,InsertCommand.CommandText,DeleteCommandText有效  
  2、ds.GetChanges不是Nothing  
  你可以检查一下以上条件。  
   
  初用的有一个地方要留意的,就是DataSet或DataTable的AcceptChanges方法。  
  DataAdapter在更新数据时只更新行状态(RowState)变动了的数据,  
  这个RowState只是相对的,记录的是上一次AcceptChanges之后的这段时间的数据更改,  
  如果你在Update之前进行了AcceptChanges,那么GetChanges就是Nothing了,Update就没效果了。  
  正确的顺序是:  
  Fill(ds)  
  添加修改删除  
  Update(ds)  
  AcceptChanges  
  Top

5 楼mooddecode1980(心情解码)回复于 2005-01-21 12:02:47 得分 0

up  
   
   
  -Top

6 楼gaiwa(我不是大侠)回复于 2005-01-21 12:05:21 得分 0

谢谢,等我试试先Top

7 楼gaiwa(我不是大侠)回复于 2005-01-21 12:10:11 得分 0

lzmtw(水如烟)   :  
   
  怎样才能让DataAdapter的UpdateCommand.CommandText,InsertCommand.CommandText,DeleteCommandText有效  
  ???Top

8 楼gaiwa(我不是大侠)回复于 2005-01-21 12:11:35 得分 0

因为在Update(ds)的时候报错了,说什么InsertCommand必要的哟Top

9 楼welshem(天堂客)回复于 2005-01-21 12:57:57 得分 0

就是你要建立命令对象去赋给DataAdapter的UpdateCommand、InsertCommand、DeleteCommand属性  
  当然,你只要实例要用的命令属性  
   
  DataAdapterObj.UpdateCommand=相应命令对象;  
  DataAdapterObj.InsertCommand=相应命令对象;  
  DataAdapterObj.DeleteCommand=相应命令对象;Top

10 楼gaiwa(我不是大侠)回复于 2005-01-21 13:23:55 得分 0

如果我要具体地设置InsertCommand对象(写update语句)那和我直接用SQL语句更新数据源有什么区别呢?Top

11 楼do_the_best(近我者赤)回复于 2005-01-21 13:31:53 得分 0

这些insertcommand之类的命令都可以自动生成的。  
  你只要调用updata就可以了。Top

12 楼gaiwa(我不是大侠)回复于 2005-01-21 13:36:16 得分 0

自动生成?怎么自动生成呢?Top

13 楼do_the_best(近我者赤)回复于 2005-01-21 13:53:23 得分 0

add   new   items   的时候要继承Component   Class,  
  它有design的界面。  
  在左边的server   explorer里面找到你要得表,往design界面里拖,他就自动生成connection和adapter,右击那个adapter,选择config   data   adapter,设置完后就自动生成了insert,delete,update,select四个语句了(限单表)。多表只能生成select.Top

14 楼yinshuhai(因数还)回复于 2005-01-21 13:56:55 得分 20

DataAdapter1=new   SqlDataAdapter(comtext,conn);  
  thisBuilder=new   SqlCommandBuilder(DataAdapter1);//这里添加一行,协调Dataset与关联数据库  
  ds=new   DataSet();  
  这样就可以完成数据集与数据库的关联!  
  MSDN上的注释:  
  SqlDataAdapter不会自动生成为了使对   DataSet   所作的更改和相关联的数据源协调起来所必须的   SQL   语句。但是,如果设置了   SqlDataAdapter的   SelectCommand   属性,那么就可以创建   SqlCommandBuilder对象,来自动生成   SQL   语句以更新单表。然后,SqlCommandBuilder将生成其他任何未设置的   SQL   语句。Top

15 楼yinshuhai(因数还)回复于 2005-01-21 13:57:54 得分 0

这样就能直接使用DataAdapter1.updata(ds);方法来实现从数据集到数据库的更新了Top

相关问题

  • DataAdapter Update中有错误,如何得到错误的类型?
  • 菜鸟问题:DataAdapter在Update更新时出现的错误
  • 求解dataadapter的update问题,为什么老不成功??
  • 使用dataadapter的update方法遇到的問題
  • DataAdapter做update更新时能够使用事务吗?
  • 关于DataAdapter的Update的问题,急,望大家帮帮忙
  • update到底应该怎样写啊?
  • 这个Update trigger应该怎么写?
  • 这个UPDATE语句应该怎么写?
  • 自己生成的 DataSet (不是用DataAdapter得到的),能用DataAdapter 来 Update 数据库吗?How?

关键词

  • 语句
  • 数据
  • ds
  • 属性
  • 数据库
  • sql
  • dataadapter
  • insertcommand
  • 生成
  • dataadapterobj

得分解答快速导航

  • 帖主:gaiwa
  • yinshuhai

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo