起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 233|回复: 4

dataset的问题

[复制链接]
发表于 2009-8-20 19:40:31 | 显示全部楼层 |阅读模式
我想问一下,我在功能窗体中建了一个datasetbroker1,然后在功能窗体中有一个navigator,上面有新建、删除、保存、取下一页等按钮,我想问的是怎么知道datasetbroker1.dataset中是否有新建的数据或是更新的数据但是还没保存到物理表中,如果我修改了数条数据但没有保存物理表中,即没点保存按钮,我如何用代码定位到这些改变的数据,如何将这些数据原有的值保存到变量中,如何针这些数据的新值保存到变量中。其中最主要的是我想定位到新值与没有修改的数据中有重复的数据的地方。举例说明一下,在datagrid1(它的数据源是datasetbroker1)中有三个字段(设备类型:sblx、设备型号:sbxh、电压等级:dydj)物理表中有5条数据,如:
1.导线,a,10kV
2导线,b,10kV
3导线,c,10kV
4导线,d,10kV
5导线,e,10kV
然后我先改第一条数据:导线,c,10kV
再改第二条数据:导线,f,10kV
再改第四条数据:导线,g,10kV
以上操作没点保存,现焦点上第四条数据上,这时第一条数据肯定和第三条数据的设备型号重复,我想问如何通过代码定位到第一条数据,也就是改变了的数据,同时和第三条(没有修改)数据重复.这样的代码怎么写,在什么事件中写比较合适。
回复

使用道具 举报

发表于 2009-8-21 08:46:36 | 显示全部楼层
怎么知道datasetbroker1.dataset中是否有新建的数据或是更新的数据但是还没保存到物理表中
可以通过UpdatesPending来获知,参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=25111
回复 支持 反对

使用道具 举报

发表于 2009-8-21 08:50:15 | 显示全部楼层
对于你后面的就不是很明白了,
修改第一条记录为导线,c,10kV,光标移动到其他的记录,这个时候第一条已经和第三条重复了,为啥要等焦点上第四条数据上时才说明第一条和第三条重复呢。
至于定位记录,可以通过locate来定位,参考
http://bbs.justep.com/forum.php?mod=viewthread&tid=3641
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-21 19:12:41 | 显示全部楼层
我可能没说清楚,不过你问"为啥要等焦点上第四条数据上时才说明第一条和第三条重复呢",那是因为新增了多条数据,后才保存,但在保存时,焦点肯定在新增的最后一条数据上,但这样的话以前新增的数据是否重复就不清楚了,对了顺便问一下,如何判断datasetbroker.dataset中是否有重复的数据,如何知道哪些数据重复,我只知道怎么判断数据表中哪些数据重复,可通过sql语句实现,但dataset中如何判断呢?
回复 支持 反对

使用道具 举报

发表于 2009-8-22 10:16:30 | 显示全部楼层
对于DataSet可以设置数据集的唯一性约束属性。
在信息-数据集上有属性
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-17 15:05 , Processed in 0.042875 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表