SOS 求救(200分)

  • 主题发起人 主题发起人 212
  • 开始时间 开始时间
2

212

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾 200分:
在delphi开发c/s中碰到以问题求救:
我想实现如下操作:
有两个相关联表,我利用sql builder同时选出到query,我想利用dbgrid或其它显示组件并想同时修改两个表的
记录,不知能否实现,并怎末实现?请各位赐教
 
是主从表操作,则要分别进行,否则在不更改关连键的情况下可以。
 
用query+updatesql即可实现
 
建议买本李维的<<delphi 3.0 从入门到精通>>
关于从视图到多表更新有详细介绍.
 
lookup的字段,连接从表,可实现。
 
no,各位
两表不是主从表,只是有关联,用lookup字段太慢,我们在开发c/s结构
请问阿梁query+update如何实现
 
多人接受答案了。
 
please continu
 
please continu!!!!ok
 
Sorrry,Query+update恐怕难以实现,
具体方法用触发器或写程序代码都可以,


附Query+update的具体作用及用法,自己琢磨一下:

TUpdateSQL是专为TQuery在的结果上直接修改数据库记录用的. 比如连到
Query上的DBGrid, 直接修改其中的数据可以通过TUpdateSQL修改数据库
中相应记录, 而不用管query的结果是否是readonly的(比如某些复杂查询的
结果不能直接修改).
TUpdateSQL的原理就是当修改发生时, 自动执行其中相应的sql语句(update, insert, delete).
TUpdateSQL中的sql语句主要是通过变量形式定位数据库记录的
:OLD_字段名 可以取得某个字段被修改之前的值(一般作为where里的条件)
:NEW_字段名 是query中这个字段的被修改之后的新值.

TUpdateSQL还有如下作用:
1,当作UpdateCache,起到缓存的作用。此时TQuery中的CachedUpdates要设
为True。成批修改数据后先Post,再ApplyUpdates。
2,取代TQuery中的某些SQL命令。比如当不用TUpdateSQL时,做TQuery.Insert,
此时是执行TQuery中的Insert命令,而非TUpdateSQL中的SQL语句。
当表中有Identity字段时就不能直接调用TQuery中的某些命令,而是要用
TUpdateSQL中的SQL语句来完成。
 
后退
顶部