情况写的很详细 请耐心看完,我上礼拜刚学,请大家多多指教
我建了两个相同的库a,b,有一样的表t ,其中有相同的字段f, a中表t有两条不同的数据两条x1,x2,b中表t有和a.t相同一条数据x1(以下出现的sql语句均验证正确)
SpeedButton1Click:
if (dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t')) <> (dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.f on b.dbo.t.f=a.dbo.t.f');) then
showmessage('0000');
else
showmessage(‘1111’)
执行结果应为0000,却显示1111我有一SpeedButton2用于把a中t的数据完全复制到b中表t代码如下
begin
with dm.Query1 do
begin
close;
with sql do
begin
Clear;
add('delete from b.dbo.t');
end;
execsql;
close;
with sql do
begin
clear;
add('insert into b.dbo.t(f) select * from a.dbot');
end;
execsql;
执行button2后,再执行button1执行结果应为1111,却显示0000
后来我用以下button3来查看(dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t')和(dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.t on b.dbo.t.f=a.dbo.t.f')SpeedButton3Click:
begin
edit1.Text:=inttostr(dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t'));
edit2.Text:=inttostr(dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.b on b.dbo.t.f=a.dbo.t.f'));
end;点击button3 ,edit1显示1,edit显示1,再点击button3,edit1和2都显示2,以此类推,点击button1后再点击button3后,edit都多加了1(此时点击button1显示都为1111)
点击button2后,再点击button3,edit1变成了1,edit2再原数据基础上再加1(此时点击button1显示都为0000)
按我预期的edit输出结果应该是都不变的一个是2,一个是1,可是他却会每按一次都会变
,我快faint了,我跟另个人研究半天无结果。其中我还设置过i:= dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t'),j:= dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.b on b.dbo.t.f=a.dbo.t.f'),替换后执行button3结果竟然会略有不同,再次faint。
我想要button1正常出结果 大家帮帮我啊,orz
我建了两个相同的库a,b,有一样的表t ,其中有相同的字段f, a中表t有两条不同的数据两条x1,x2,b中表t有和a.t相同一条数据x1(以下出现的sql语句均验证正确)
SpeedButton1Click:
if (dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t')) <> (dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.f on b.dbo.t.f=a.dbo.t.f');) then
showmessage('0000');
else
showmessage(‘1111’)
执行结果应为0000,却显示1111我有一SpeedButton2用于把a中t的数据完全复制到b中表t代码如下
begin
with dm.Query1 do
begin
close;
with sql do
begin
Clear;
add('delete from b.dbo.t');
end;
execsql;
close;
with sql do
begin
clear;
add('insert into b.dbo.t(f) select * from a.dbot');
end;
execsql;
执行button2后,再执行button1执行结果应为1111,却显示0000
后来我用以下button3来查看(dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t')和(dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.t on b.dbo.t.f=a.dbo.t.f')SpeedButton3Click:
begin
edit1.Text:=inttostr(dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t'));
edit2.Text:=inttostr(dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.b on b.dbo.t.f=a.dbo.t.f'));
end;点击button3 ,edit1显示1,edit显示1,再点击button3,edit1和2都显示2,以此类推,点击button1后再点击button3后,edit都多加了1(此时点击button1显示都为1111)
点击button2后,再点击button3,edit1变成了1,edit2再原数据基础上再加1(此时点击button1显示都为0000)
按我预期的edit输出结果应该是都不变的一个是2,一个是1,可是他却会每按一次都会变
,我快faint了,我跟另个人研究半天无结果。其中我还设置过i:= dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t'),j:= dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.b on b.dbo.t.f=a.dbo.t.f'),替换后执行button3结果竟然会略有不同,再次faint。
我想要button1正常出结果 大家帮帮我啊,orz
解决方案 »
- 紧急求助,我得ado用不了!!!!
- 关于继续显示同一窗口的问题
- 请问有没有基于VCL的工作流组件,谢谢!
- 不会吧,用delphi制作游戏不行?
- 利用delphi和asp(或jsp)开发一个B/S系统,他们之间怎么交换信息?
- 对adoquery的parameters赋值有几种形式?请各位高手指点
- 高分请教!!:如何在创建一个多列的图形列表框,需要自己画图形!!!
- 关于richedit控件的一些用法。(真不好意思,一直困饶我的问题)
- 如何在程序中动态控制dbchart???labels属性为只读的,不能该。pie没有。
- 有谁用过这东西,气啊!!!!!!!
- delphi怎样提示该软件是否已打开?
- 建立账套的思路?
dm.Query1.SQL.add('SELECT COUNT (*) FROM a.dbo.t');
dm.Query1.Open;dm.query2.sql.add('SELECT COUNT (*) FROM b.dbo.t inner join a.dbo.f on b.dbo.t.f=a.dbo.t.f');
dm.query2.Open;if dm.Query1.Fields[0].Value <> dm.Query2.Fields[0].Value then
showmessage('0000')
else
showmessage(‘1111’);楼主其他代码没看