with query1 do begin close; sql.clear; sql.add('..'); open; first; while not (query1.eof) do begin do...//做你的事; next; end; end;
是ADOQuery不是Query,还有,请回答实质问题好不好?拜托啦!
ADOQuery也和Query一样的用阿? 应该不会的,我也用sybase, with ADQQuery1 do begin close; sql.clear; sql.add('..'); open; first; while not (ADOQuery1.eof) do begin do...//做你的事; next; end; end; 如果再有问题,请看看你的数据库
TO luzhou(卢周) 我用过for i:=0 to adoQuery1.recordCount-1 do 但是报错,不要问我用这段代码打算做什么,我只是把我的问题描述清楚而已。 在你用这段代码前,你先看一看你的adoquery1.first了没有; 再者你也可以查一下,你是在那一句发出了错误,如果一切如你所说的话 (就是先定位了,但是最后一条记录错误),你打开的库看一下,当前的指针所在的位置;
var i :integer; begin i := 0; adoquery1.Open; while not adoquery1.Eof do begin i := i+1; adoquery1.Next; end; Edit1.Text := IntToStr(i); end;我用上面的代码,测试了mssql server,没有问题的。 你用ado连接sybase使用的ado 的oledb provider还是odbc?
但是报错,不要问我用这段代码打算做什么,我只是把我的问题描述清楚而已。
begin
close;
sql.clear;
sql.add('..');
open;
first;
while not (query1.eof) do
begin
do...//做你的事;
next;
end;
end;
应该不会的,我也用sybase,
with ADQQuery1 do
begin
close;
sql.clear;
sql.add('..');
open;
first;
while not (ADOQuery1.eof) do
begin
do...//做你的事;
next;
end;
end;
如果再有问题,请看看你的数据库
我用过for i:=0 to adoQuery1.recordCount-1 do
但是报错,不要问我用这段代码打算做什么,我只是把我的问题描述清楚而已。
在你用这段代码前,你先看一看你的adoquery1.first了没有;
再者你也可以查一下,你是在那一句发出了错误,如果一切如你所说的话
(就是先定位了,但是最后一条记录错误),你打开的库看一下,当前的指针所在的位置;
i :integer;
begin
i := 0;
adoquery1.Open;
while not adoquery1.Eof do begin
i := i+1;
adoquery1.Next;
end;
Edit1.Text := IntToStr(i);
end;我用上面的代码,测试了mssql server,没有问题的。
你用ado连接sybase使用的ado 的oledb provider还是odbc?
FIRST、LAST才能准确的定位,不然,它有可能连RECORDCOUNT也不能正确的表达出来