关于主从表新增的问题
主表 从表
邮件id(标识列) 邮件主题 邮件id 附件
一封邮件有可能有多个附件,先append主表,再根据是否有附件,append从表.
用一个保存按钮来发送更新,主表用post,把从表设成了批量更新的模式,用updatebatch.
问题1,从表只能append一次,我再执行append时会把原来的那个覆盖掉。
问题2,如何保持新增加的邮件id一致.我的思路是新增主表后取主表的“邮件id”,如果需要新增从表,邮件id就用主表的那个值。这样好像不行。主表如果刚append,没保存的话,邮件id就是0.
怎么解决主从表的更新问题呢?
问题点数:100、回复次数:12Top
1 楼paranoia190(190)回复于 2005-07-15 10:42:01 得分 10
ID 不作外键Top
2 楼lovend(颓废之吻)回复于 2005-07-15 11:00:18 得分 5
帮你顶Top
3 楼jiangguan(唐僧)回复于 2005-07-15 13:00:43 得分 0
id 不做外键?什么意思?Top
4 楼notruiyi(什么乱七八糟的)回复于 2005-07-15 13:20:38 得分 10
先获得下一位置的主键数值
如果是ORACLE或MYSQL有对应函数请仔细查阅
如果是MSSQL要先插入一个空记录,后删除该记录
从而得到这个ID,这样你在主表和从表插入时候就可用了Top
5 楼jiangguan(唐僧)回复于 2005-07-15 23:26:12 得分 0
还有其他办法获得下一位置的主键数值吗?
先插入一个空记录,后删除该记录会不会对效率有影响?Top
6 楼ypnet(高原)回复于 2005-07-16 11:15:51 得分 10
主表如果刚append,没保存的话,邮件id就是0.
=============================================
主表append,在OnNewRecord取邮件ID, 然后在从表POST前,把邮件ID给从表。当主表发现邮件ID已经存在(在多用户操作下),取新邮件ID给主表,更新从表邮件IDTop
7 楼jiangguan(唐僧)回复于 2005-07-17 22:10:52 得分 0
没有办法解决吗?Top
8 楼jiangguan(唐僧)回复于 2005-07-18 08:29:13 得分 0
可不可以用一个按钮完成保存工作Top
9 楼tfeiy(独孤冷)回复于 2005-07-18 08:52:18 得分 5
MARK!Top
10 楼jiangguan(唐僧)回复于 2005-07-18 08:57:02 得分 0
求助呀,Top
11 楼jiangguan(唐僧)回复于 2005-07-18 14:41:53 得分 0
dingTop
12 楼sdjnjdxc()回复于 2005-07-18 15:36:23 得分 60
http://www.delphibbs.com/delphibbs/dispq.asp?lid=777037Top




