CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

怎样改变datagrid中的内容但不改变它连接的数据库的内容,包括删除,修改,添加

楼主scalewing1982()2005-06-02 13:54:27 在 VB / 数据库(包含打印,安装,报表) 提问

如果可以做到只改变datagrid中的内容,而不修改它连接的数据库的内容.等整个修改完成可以通过update或者什么按钮再来修改数据库的内容.  
  高手帮帮我.. 问题点数:50、回复次数:16Top

1 楼scalewing1982()回复于 2005-06-02 14:39:24 得分 0

自己顶一下..急切求助,分不够再加..有什么good   idea也好..Top

2 楼Stony1980(学无止境)回复于 2005-06-02 14:40:16 得分 0

在两次的update之间,你可以用cancelupdate来取消所有   的自动更新Top

3 楼AwaitLiu()回复于 2005-06-02 15:08:01 得分 0

DataGrid不要直接绑定到数据库上,自己写语句:  
   
  Dim   con   As   new   ADODB.Connection  
  Dim   rs   As   new   ADODB.Recordset  
   
  Private   Sub   Form_Load()  
  cn.Open   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=D:\Student.mdb;Persist   Security   Info=False"  
  rs.Open   "select   *   from   Tabel1",   cn,   adOpenStatic,   adLockBatchOptimistic  
   
  Set   DataGrid1.DataSource   =   rs  
   
  End   Sub  
   
  Private   Sub   cmdUpdate_Click()   '修改之后,点此按钮更新记录到数据库中  
        rs.UpdateBatch  
  End   Sub  
  Top

4 楼AwaitLiu()回复于 2005-06-02 15:09:46 得分 0

rs.Open   "select   *   from   Tabel1",   cn,   adOpenStatic,   adLockBatchOptimistic  
  漏了个字母   cn   应该是   con:  
  rs.Open   "select   *   from   Tabel1",   con,   adOpenStatic,   adLockBatchOptimisticTop

5 楼lightwu()回复于 2005-06-02 15:14:30 得分 0

绑定,adodc1   locktype=4(批处理),cursorlocation=3(本地)  
  实际上,你对本地集合数据操作,即可。如果发生过修改,则使用CancelBatch    
  Top

6 楼scalewing1982()回复于 2005-06-02 16:29:33 得分 0

to:Awaitliu()  
  我是那样让datagrid.datasource=一个recordest的..可是只要datagrid里内容修改了..只要鼠标点到别的行它就自动更新到数据库里了...  
  那怎么删除datagrid中的一行,但recordest里相应的记录不删除呢?  
  麻烦你们了,我不太会用datagridTop

7 楼scalewing1982()回复于 2005-06-02 16:31:55 得分 0

to:   stony1980()  
  它什么时候会自动更新呢?datagrid的添加,删除不是都是通过连着它的recordest来实现的么?还是datagrid可以自己添加一行记录啊?麻烦告诉一下..谢谢Top

8 楼lightwu()回复于 2005-06-02 17:24:41 得分 0

Adodc1.CursorLocation   =   adUseClient  
  Adodc1.LockType=adLockBatchOptimistic  
  本地,批处理锁,同时,才可以  
  用语句实现一样的道理Top

9 楼scalewing1982()回复于 2005-06-02 17:42:42 得分 0

to:lightwu()  
  麻烦告知一下用语句实现的代码好吗?我实在是不太会用那个adodc控件..谢谢了..  
  原理是什么呢..?不太懂诶..  
  麻烦了..多谢Top

10 楼cxbkkk(本命年,旺啊!)回复于 2005-06-02 23:17:13 得分 0

你先不在属性里设置DataSource就是了,后面再在代码中设置,利用记录集来完成操作,最后updateTop

11 楼scalewing1982()回复于 2005-06-02 23:29:32 得分 0

to   cxbkkk  
  我没有在属性里设置,是在代码中连接的..可是不用你update,它自己就update了..比如你修改一个表项,只要你鼠标点别的表项,它自己就把数据库里相应的记录修改了..尤其是删除,删除了datagrid里的记录,数据库里的也就被删掉了..好烦..我想问怎么可以..datagrid里的记录能变成像本地数据那样的东西..需要时候再update到数据库..谢谢  
  希望能得到满意的答复..各位大虾帮帮忙Top

12 楼wfront(努力学习HTML)回复于 2005-06-03 08:13:28 得分 0

不要进行数据绑定,在每次查询时手动填充datagrid就可以了,虽然是麻烦了点,但推荐这样做.Top

13 楼scalewing1982()回复于 2005-06-03 13:57:58 得分 0

我自己觉得建一个视图还比较不错..程序结束的时候把它drop掉..这样就不会修改到数据库的数据了..  
  可是如果想要从视图更新到数据库里的表..应该怎么办呢?谁有好建议?谢谢Top

14 楼qgqchile(qgq)回复于 2005-06-03 22:54:58 得分 0

换个思路  
  做一个隐藏的MSFLEXGRID   然后每次输入数据的是后同步输入,最后如果用户确定将隐藏的那个的内容做INSERT   O   UPDATE   O   DELETE   就可以拉,事后记得   .CLEAR   如果拥护取消直接.CLEAR  
  Top

15 楼scalewing1982()回复于 2005-06-04 00:55:16 得分 0

to   qgqchile  
  非常赞同你的思路...可以说的详细点吗?不太会实现..看来很快可以结帖了..3xTop

16 楼qgqchile(qgq)回复于 2005-06-04 01:30:03 得分 50

你是用自动填充还是手动啊,我从来都是用手动的  
  以下代码你可以参考一下,现在公司我没有VB代码,如果想要我可以给你发个以前我做的销售程序  
  不过是西文的  
  当用户按舔加   调用以下FUNCTION  
  public   function(ms1   as   msflexgrid,   ms2   as   msflexgrid)  
            with   ms1  
                ms1.textmatrix(.row+1,0)="   名称"  
  .  
  .  
  .  
              end   with  
              ms2.textmatrix(.row+1,0)="   名称"  
  .  
  .  
  .  
              end   with  
  end   function  
   
  假设MS2   是那个隐藏的当用户确定的时候你就可以进行数据库操作根据MS2   如过用户取消的话你直接用MS1刷新一下数据库就好拉  
  不知道对你有没用处,很久没写VB代码了,但基本思路是这样的  
  Top

相关问题

  • C#中如何用DataGrid实现数据库中数据的添加、删除、修改?
  • 在读取数据库数据的datagrid中添加checkbox多选删除怎样实现?
  • 一个删除和添加数据库的问题!
  • 数据库删除???
  • 数据库添加
  • 添加数据库
  • 《c#与数据库的二次亲密接触》--添加,修改,删除篇
  • 谁有ADO数据库例子(添加,插入,删除等)送100分。
  • 请问如何实现删除、添加、修改数据库角色?
  • 如何做远程数据库的添加删除更新查询等?

关键词

  • 数据库
  • 修改
  • 内容
  • datagrid
  • 连接
  • 代码
  • 删除
  • recordest
  • 添加
  • 改变

得分解答快速导航

  • 帖主:scalewing1982
  • qgqchile

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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