各位大虾看看这段代码,为何设了断点运行程序结果是对的,不设断点,程序结果不对?

lvlay 2003-10-19 06:24:43
datasource1.dataset:=AdoQuery1;
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('select ZH, BJBH, CLMC, SJGG, CZ, CD, ZJSL, XSJS from 中间表 where CLMC="∠" Order by SJGG');
AdoQuery1.Open;
dbgrid1.DataSource:=datasource1;
ListBox1.Clear;
with DataSource1.DataSet do
begin
first;
while not Eof do
begin
tmp:= fields[3].AsString;
if not inlist(tmp) then
ListBox1.Items.Add(tmp) ;
next;
end;
end;
在 ListBox1.Clear;处设了断点运行,结果list框里的内容正确
如果去掉断点,结果list框里没有内容。晕死了

我的平台在98下,可是XP下正常的很。 还有我用的是delphin7
...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvlay 2003-10-20
  • 打赏
  • 举报
回复
呵呵,刚用sql不知道有这样一个distinct,不好意思亚
至于空集因该不会,我的中间表里的数据全是符合要求的
traveler_qt 2003-10-20
  • 打赏
  • 举报
回复
我这没环境试,不过看了你的程序可能会出现如下错误:提取结果集为空
if not DataSource1.DataSet.IsEmpty then////////****
with DataSource1.DataSet do
begin
first;
while not Eof do
begin
tmp:= Fields.Fields[3].AsString;/////*********
if not inlist(tmp) then
ListBox1.Items.Add(tmp) ;
next;
end;
end;
如果没猜错你的inlist(tmp)应该是测试tmp是否存在于listbox1中的函数
这点我不解为什么要测试,如果想防止这种情发生,可以把fields[3]即
'SJGG'来一个distinct啊,这样速度也快了啊?
zzh54zzh 2003-10-20
  • 打赏
  • 举报
回复
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('select * from message_t');
AdoQuery1.Open;

ListBox1.Clear;
with AdoQuery1 do
begin
first;
while not Eof do
begin
tmp:= fields[3].AsString;
if ListBox1.Items.IndexOf(tmp) = -1 then
ListBox1.Items.Add(tmp) ;
next;
end;
end;

------这样写在我这通过,没有问题^_^
lvlay 2003-10-19
  • 打赏
  • 举报
回复
delphiBirdni你能说的详细些吗,写下代码
最好
47522341 2003-10-19
  • 打赏
  • 举报
回复
感觉楼主的代码怎么链接全是动态的;
直接用静态链接不知道会不会好些;
DelphiBird 2003-10-19
  • 打赏
  • 举报
回复
我猜测你是直接用adoquery连接的数据库
异步同步处理方式不对的
你该成ADOCONNECTION连接
然后用ADOQUERY连接ADOCONNENCTION
实验一下
:)
pankun 2003-10-19
  • 打赏
  • 举报
回复
如果在有的平台行,有的平台不行,看来就是系统或DELPHI的问题了..
天剑68 2003-10-19
  • 打赏
  • 举报
回复
试试不用with DataSource1.DataSet do,改为with adoquery1 do。
wing_er 2003-10-19
  • 打赏
  • 举报
回复
用distinct不好吗?

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧