線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1567
推到 Plurk!
推到 Facebook!

怪怪怪,ClientDataSet.CommandText为何不会取得最新资料???

答題得分者是:pgdennis
aKnightChen@Hotmail.com
一般會員


發表:62
回覆:57
積分:23
註冊:2003-06-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-25 11:41:47 IP:218.19.xxx.xxx 未訂閱
大家可以做一个最简单的例子,(不信你试一下,绝对奇怪): 中间层poAllowCommandText:=True; 客户端: BUTON1.ONCLICK代码如下: with ClientDataSet1 do begin Close; CommandText:='INSERT INTO A VALUES (1)'; Execute; Close; CommandText:='SELECT * FROM A'; Open; showmessage(IntToStr(RecordCount)); end; 当第一次点击按纽时,能正确显示记录数, 可第二次...第N次,再也无法刷新取得记录数.(我用SQL监视器看了一下,程序并没有提交查询请求) 不知道是为什么,我真的快没法子了.大家来帮我看看吧. 發表人 - aKnightChen@Hotmail.com 於 2003/08/25 18:02:53
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-25 13:24:00 IP:203.204.xxx.xxx 未訂閱
引言: 我采用COMMANDTEXT方法取数据. commandtext:='SELECT ....'; 程序第一次执行时取出A结果, 这里我偷偷地在后台将表中结果改为B, 程序再次执行时结果还是A(当前数据库中结果是B,我确信) 是不是CLIENTDATESET中有记忆功能? =============== 而我如果把程序关闭,再打开,读出的结果就是B。 我该怎么设置才能去除它的记忆功能?
所謂的再次執行是 Close; CommandText := '...'; Open; 嗎?這樣應該是沒問題!
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
aKnightChen@Hotmail.com
一般會員


發表:62
回覆:57
積分:23
註冊:2003-06-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-25 14:16:45 IP:218.19.xxx.xxx 未訂閱
怪怪怪!!! -------------------------------------- 如下: begin   with clientdataset1 do   begin     close;     commandtext:='SELECT 1';     OPEN;        close;     commandtext:='SELECT 1';     OPEN;        close;     commandtext:='SELECT 1';     OPEN;   end;    end;    第一次点击按纽时: 我在后台监视到有三条“SELECT 1”    而当我再次点击按纽时(程序没有关闭,只是第二次点击): 后台监视到只有一条记录:“select 504,c.name,c.definition from master.dbo.syscharsets c,master.dbo.syscharsets c1,master.dbo.sysconfigures f where f.config=1123 and f.value=c1.id and c1.csid=c.id ” 而却没有“SELECT 1” --------------------- 一定是有哪个设置不搞对。 < >< >
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-25 18:37:26 IP:218.163.xxx.xxx 未訂閱
我在oracle下用你的CODE測試OK,是正常的 永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@
aKnightChen@Hotmail.com
一般會員


發表:62
回覆:57
積分:23
註冊:2003-06-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-26 08:04:25 IP:218.19.xxx.xxx 未訂閱
我在ACCESS,MSSQL上测试都是有错。 注意:我只执行一次应用程序,只是点两次按纽, 第一次INSERT,再SELECT 共5条记录 第二次INSERT,再SELECT 还是5条记录。 两次INSERT都是成功的。
aKnightChen@Hotmail.com
一般會員


發表:62
回覆:57
積分:23
註冊:2003-06-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-26 08:13:53 IP:218.19.xxx.xxx 未訂閱
可能是我自已有错,我又做了个程序,一切正常, 我正在找问题,等回告诉大家为什么。
aKnightChen@Hotmail.com
一般會員


發表:62
回覆:57
積分:23
註冊:2003-06-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-26 09:10:52 IP:218.19.xxx.xxx 未訂閱
有些错误(BUG)真的比较恶心, 启动时, ====================== 出错写法: SocketConnection1.Connected:=False; SocketConnection1.Address:='192.168.1.177'; SocketConnection1.ServerGUID:='{C8538086-DCCE-47EC-9A16-4877A0AE0B22}'; ======================= 正确写法:    ///////////SocketConnection1.Connected:=False; SocketConnection1.Address:='192.168.1.177'; SocketConnection1.ServerName:='myProject.Test'; 或者另一种正确写法: ///////////SocketConnection1.Connected:=False; SocketConnection1.Address:='192.168.1.177'; /////////SocketConnection1.ServerName:='myProject.Test'; (其中SERVERNAME,GUID在设计时就取值)    我哭。。。。。。。。。。。。。。。。。。    < >< >< >< >
系統時間:2024-05-06 22:23:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!