adoquery实现多表问题(200分)

  • 主题发起人 主题发起人 yifawu
  • 开始时间 开始时间
Y

yifawu

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个表, table1,table2
它们有相同字段 code, 我只想修改 table1, table2只是
为了限制table1 的范围.
adoquery->SQL->Add("select t1.* from table1 t1,table2 t2
where t1.code=t2.code and t2.depart='01')

adoquery->Open();

insert recorde 没有问题,
而 edit , delete 则会出现 "缺少更新或刷新的键值信息"
请问如何克服?
 
table1 表含有自增字段 id ,
若用BatchOptimistic 缓冲理新, 再 用 sql语句更新,
则又无法返回 id 值,即使返回id 值( 用 select max(id) from table1)
也不 知将id 值放在何出,因为当前id字段无发修改
这样,再用 edit,delete 就无发用 id 值了
 
请施妙计
 
不要用自增字段,你把id设为字符型字段不就解决了吗?
如果你是为了避免重复(用自增字段),先用搜一道,如有重复,提示;
 
当我有上万条以上记录,且必须全部加到库中,
每加一条,就搜索一次不会很慢吗?
(数据先在一个文本文件中)
即使用 store procedure 自动编号(在insert 时,
先 通过 store procedure 返回一个编号,再插入表中)
也会有点慢
 
为什么没有人回答?
 
你把SQL语句该为如下试试:
select t1.* from table1 t1 where t1.code in (select code from table2 t2
where t2.depart='01')
 
接受答案了.
 
后退
顶部