怪怪怪,ClientDataSet.CommandText为何不会取得最新资料??? |
答題得分者是:pgdennis
|
aKnightChen@Hotmail.com
一般會員 發表:62 回覆:57 積分:23 註冊:2003-06-13 發送簡訊給我 |
大家可以做一个最简单的例子,(不信你试一下,绝对奇怪):
中间层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 發送簡訊給我 |
引言: 我采用COMMANDTEXT方法取数据. commandtext:='SELECT ....'; 程序第一次执行时取出A结果, 这里我偷偷地在后台将表中结果改为B, 程序再次执行时结果还是A(当前数据库中结果是B,我确信) 是不是CLIENTDATESET中有记忆功能? =============== 而我如果把程序关闭,再打开,读出的结果就是B。 我该怎么设置才能去除它的记忆功能?所謂的再次執行是 Close; CommandText := '...'; Open; 嗎?這樣應該是沒問題!
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
aKnightChen@Hotmail.com
一般會員 發表:62 回覆:57 積分:23 註冊:2003-06-13 發送簡訊給我 |
怪怪怪!!!
--------------------------------------
如下:
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 發送簡訊給我 |
|||
aKnightChen@Hotmail.com
一般會員 發表:62 回覆:57 積分:23 註冊:2003-06-13 發送簡訊給我 |
|||
aKnightChen@Hotmail.com
一般會員 發表:62 回覆:57 積分:23 註冊:2003-06-13 發送簡訊給我 |
|||
aKnightChen@Hotmail.com
一般會員 發表:62 回覆:57 積分:23 註冊:2003-06-13 發送簡訊給我 |
有些错误(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在设计时就取值) 我哭。。。。。。。。。。。。。。。。。。 < >< >< >< >
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |