起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: kd_xjx

【搞定】一个TDataGrid内容是2个物理表,并能修改任意表的值,能保存**

[复制链接]
 楼主| 发表于 2007-4-24 18:30:39 | 显示全部楼层
我新发了个帖子,"TDATAGRID的问题2"的附件里了,请下载.谢谢
在这里我不知道怎么上传附件,所以新开了个
还有TDATAGRID需要保存2个表
我周一开了一天会,今天也整了一天了,有点急,呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-24 21:20:56 | 显示全部楼层
就一个表单,很简单的,你一看就明白了
回复 支持 反对

使用道具 举报

发表于 2007-4-25 09:51:13 | 显示全部楼层
你看
1、“业务模型\湖南电力市场交易运营系统\合同管理子系统\合同生成\合同生成信息\合同管理”这个文档对应的数据集是 信息数据集
2、这个数据集是从 “业务模型\湖南电力市场交易运营系统\电力交易数据库\合同管理数据库\合同基本信息表” 和“业务模型\湖南电力市场交易运营系统\电力交易数据库\合同管理数据库\合同归档信息表”而来,而这两个表中都有一个字段(合同ID)的ID都为ID。这就是我在6楼给你一个连接让你参考,意思是让你把相同的ID,有一个用一个别名
3、说说你5楼看的提示,你运行功能后,看到的合同ID是“业务模型\湖南电力市场交易运营系统\电力交易数据库\合同管理数据库\合同基本信息表” 这个表中字段,而“业务模型\湖南电力市场交易运营系统\电力交易数据库\合同管理数据库\合同归档信息表”这个表中的ID,你没有设置自动填充,表现上也没有,不能输入,且这个字段是主键,所以你提交,或者插入第二条都会看到5楼的现象
4、简单点就是把其中一个表的合同ID更好一个ID,例如IID,这样就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-25 11:14:50 | 显示全部楼层
我把'合同归档信息表'的ID改为IID了,还是提示"ID是必须的"
在'提交SQL语句'里还需要改什么地方吗??
回复 支持 反对

使用道具 举报

发表于 2007-4-25 11:19:19 | 显示全部楼层
表修改后,数据集需要重新定义,把原先的ID取消,且更新选项中SQL也需要重新写。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-25 11:50:09 | 显示全部楼层
我数据集测试时有数据, 下面是SQL语句, 但是还是提示"ID是必须的", 您帮我看看
SQL: UPDATE,DELETE 类似
INSERT INTO T_CONTRACTINFO
( ID , ContractIndex , ContractName , StatusNow , GUID )
VALUES ( :ID , :ContractIndex , :ContractName ,  :StatusNow , :GUID )

INSERT INTO T_CONTRACTRECOED
( IID , SFGD )
VALUES ( :IID ,  :SFGD )
回复 支持 反对

使用道具 举报

发表于 2007-4-25 11:59:51 | 显示全部楼层
数据集测试?不能这样,因为合同ID填充的是你自己定义的参数,你这个参数应该是代码赋值的吧,如果是,只能运行功能,参数赋值才起作用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-25 12:50:13 | 显示全部楼层
数据集里双击,进入"SQL构造器",有个测试按钮,能看到数据.
数据集的更新选项,提交SQL语句,里是我16楼写的SQL
然后,我在"业务功能"->"窗体"里,运行,插入一个新记录能看到ID的值,保存提示"ID是必须的"
回复 支持 反对

使用道具 举报

发表于 2007-4-25 14:13:01 | 显示全部楼层
你看差了吧,
1、提示的应该不是ID是IID吧,就是“合同归档信息表'”中的合同ID字段,
2、你这个字段现在表现了吗?没有吧,
3、那你设置这个字段自动填充了吗?也没有吧。那这个主键的值怎么填充进去呢
4、且你定义要“合同基本信息表”的“合同ID”要等于“合同归档信息表'”的“合同ID”你怎么维护这两个值相等呢?

我现在不太清楚你要实现的最终含义,你这两个表之间是否是一对一的关系?我感觉是的,因为跨表的数据集不支持多表更新,所以需要自己来定义更新的SQL语句,

你看看是否可以采用两个数据集,然后通过定义他们之间的主从关系维护这两个表的“合同ID“字段相等,最后通过表格文档来展现这些数据。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-25 14:49:33 | 显示全部楼层
我用代码实现了, 提示的就是ID, 把归档表的SQL语句values(:ID),这样不就使ID唯一了吗.
2个表的ID肯定是相等的.
就是一个TDATAGRID,放的2个表的内容,能INSERT,UPDATE,DELETE
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-16 13:00 , Processed in 0.038549 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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