詳細解釋UpdateMode的三種情況(50分)

  • 主题发起人 主题发起人 hingman
  • 开始时间 开始时间
H

hingman

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大俠﹐有誰能詳細解釋UpdateMode的三種情況嗎﹖
 
给一个例子把
比如:
table
id : int
name : char(20)
property: char(50)
当前记录id = 5 name = 'chenlh' property = 'remark'
table.edit
table.fieldbyname('id').asinteger := '6'
table.fieldbyname('name').asstring := 'AA'
table.fieldbyname('property').asstring := 'remark2'
table.post;
upWhereAll: 所有的字段放到where中
bde 产生的语句是 update table set id = 6, name = 'AAA', property = 'remark2'
where id = 5,
and name = 'chenlh'
and property = 'remark'
upWhereChanged: 主键和改变的字段放到where中
bde 产生的语句是 update table set id = 6, name = 'AAA', property = 'remark2'
where id = 5
and name = 'chenlh'
upWhereKeyOnly: 仅放主键到where中
bde 产生的语句是 update table set id = 6, name = 'AAA', property = 'remark2'
where id = 5



 
Chenlh﹕
你舉的例子很容易理解﹐你能否告訴我通常用的是哪種Update模式嗎(多用戶環境下)﹖
或者你有什么好的建議﹖好像開發程式時默認是upWhereAll。
 
这个问题我也想知道。
where 后面放的条件在实际使用时有什么分别吗?(我以为实际效果是一样的)
 
to wjs 实际效果是一样的 错了
当你有几个字段是blob是,用whereAll就不好了
to hingman
你说的多用户,实际开发中,很少直接用post更新后台的
写sql语句的比较多
with query do
begin
close;
sql.clear;
sql.add('update table set .... where ...');
execsql;
end;

 
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部