兩個Query開同一個表﹐我想在更新一個表的同時也更新另一個表。(50分)

  • 主题发起人 主题发起人 dadabox
  • 开始时间 开始时间
D

dadabox

Unregistered / Unconfirmed
GUEST, unregistred user!
因為我的表中有圖片﹐我不能全部都打開﹐但我要全部的其它資料﹐只是圖片不是全部打開。
于是我用了兩個表﹐一個是全部的部位和名稱等等詳細內容﹐但沒有圖片﹐而另一個表只有
一筆資料﹐就是當前內容的全部資料﹐包括圖片。而我修改﹐增加﹐刪除等等都用后一個表
來操作﹐但若我刪除了內容或新增了內容﹐也要讓表1即時更新。如何做呢﹖
我在表2保存之后﹐調用表1的Refresh﹐這個程序就死掉了。關掉后重開﹐資料還是更新了﹐
說明是Refresh的時候出了問題。我不想用Active:=False再:=True﹐這樣我又要重新來定位﹐
哪位有什么好的方法達到即時更新兩個Query。請說說你們的經驗﹗
注﹕我是用的ADO控件。謝謝﹗
 
如果是这样ADO
CusorLocation选clUseServer
CusorType应该选ctDynamic动态,但这样很不划算。
我个人觉得你的需求完全可以用Active=false再True
而且ADO的设置都采用大豆书使用客户端Cusor和静态的
但之前要得到当前记录的位置,然后重开时再MOVE到原来位置
 
用事务:
try
ADOConnection1.BeginTrans; //开始一个事务
更新表1;
更新表2;
ADOConnection1.CommitTrans; //提交
except
ADOConnection1.RollbackTrans; //出错,回滚
end;
 
设置游标为动态可以解决的哟。
 
為何我刪除時程序也死掉了﹐我新增﹐修改不出問題﹐但是刪除卻出問題。會不會是因為
我只有一筆資料的緣故﹖
 
兩個表﹐一個是全部的部位和名稱等等詳細內容﹐但沒有圖片﹐而另一個表只有
一筆資料﹐就是當前內容的全部資料﹐包括圖片

你可以改为
‘兩個表﹐一個是全部的部位和名稱等等詳細內容﹐但沒有圖片﹐
而另一個表只有一筆資料﹐并只有圖片’

修改详细内容时改第一个表,修改图片改第二个表,这就不用更新了,简单实用
 
這樣我一次就要修改兩個表了﹐我不想這樣子。現在遇到更麻煩的問題﹐我刪除一筆資料時
程序死掉了﹐為什么﹖因為我的表中有BLOB資料嗎﹖這個怎么解決﹖請哪位幫忙看一下。
 
用requery([])试一下
 
to jasper,請問requery是什么東東﹐能否詳細一點﹖
 
requery就是再查询呀[:D]
 
设置为主从表,增删主表,编辑从表
 
我用的也是active=false或true,有好的告诉我一声。最好有源码![:D]
 
刪除就死掉,是不是兩個用了關聯,把關聯去掉試試,完了后再從關聯。
 
看你的意思,Q1为只读显示,Q2用来更新。可以在通过Q2将数据一边提交到数据库,
另一边用代码将更新内容(字段)拷贝至Q1中(注:Q1内容在Cache中,不需向数据库
提交!)。
 
Yang J.Q.,怎么COPY﹐勞駕你寫一下好嗎﹖我沒用過。
 
我也曾用到两个控件来查询、编辑含图片的表,一个用来定位,(query)
一个用来编辑(table),我也没有找到好的办法,
当DEL了后,QUERY查询时加上TRY EXCEPT ‘记录已更改。。。’;beep; END;
关注。。。
 
在第一个表Query1 (insert、post、delete、post)后,让第二个Query
Query2.Active:=False;
Query2.Active:=True;
就可以了。
 
問題是刪除的時候程序就死掉了﹐我現在只好先用EXECSQL先解決。這是ADO的問題嗎﹖
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
594
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部