Delphi6.0,用ADOQuery检索记录,如下代码:
ADOSQL.Close;
with ADOSQL do
begin
sql.Clear;
sql.Add('SELECT l_name FROM Music WHERE s_type=''歌曲''');
open;
end;
for i:=0 to ADOSQL.RecordCount-1 do
begin
ADOSQL.MoveBy(i);
tmpS:=tmpS+ADOSQL.Fields[0].Value +'\';
end;
返回的记录条数也对了,共15条,但是奇怪的问题来了,只有前5条是正确的,从第6条开始到第15条结束都是重复的(为第15条记录),也就是说第7-14条记录的值丢了!
我是真的不知道啥子原因!!!您知道吗?难道是D版????
ADOSQL.Close;
with ADOSQL do
begin
sql.Clear;
sql.Add('SELECT l_name FROM Music WHERE s_type=''歌曲''');
open;
end;
for i:=0 to ADOSQL.RecordCount-1 do
begin
ADOSQL.MoveBy(i);
tmpS:=tmpS+ADOSQL.Fields[0].Value +'\';
end;
返回的记录条数也对了,共15条,但是奇怪的问题来了,只有前5条是正确的,从第6条开始到第15条结束都是重复的(为第15条记录),也就是说第7-14条记录的值丢了!
我是真的不知道啥子原因!!!您知道吗?难道是D版????
请改成
for i:=0 to ADOSQL.RecordCount-1 do
begin
tmpS:=tmpS+ADOSQL.Fields[0].Value +'\';
ADOSQL.next;
end;
另:
sql.Clear;
sql.Add('SELECT l_name FROM Music WHERE s_type=''歌曲''');
==
sql.text:='SELECT l_name FROM Music WHERE s_type=''歌曲'''
while not ADOSQL.Eof do
begin
tmpS:=tmpS+ADOSQL.Fields[0].Value +'\';
ADOSQL.Next;
end;
with ADOSQL do
begin
sql.Clear;
sql.Add('SELECT l_name FROM Music WHERE s_type=''歌曲''');
open; tmpS := '';
while not eof do
begin
tmpS := tmpS + Fields[0].Value + '\';
next;
end;
end;