急待解决,小问题(1分)

  • 主题发起人 主题发起人 hurryman
  • 开始时间 开始时间
H

hurryman

Unregistered / Unconfirmed
GUEST, unregistred user!
假如table1有100条记录,指定table1一次显示20条,最好是每条后面带序号。我以前看到过
类似的讨论,找了一晚上没找到
 
用ADoTABLE
然后:
ADOTable1.Recordset.PageSize:=20;
就可以每次显示20条记录
 
用BDE可以实现吗?
 
procedure TForm1.Button1Click(Sender: TObject);
var item:textfile;
count,row,i,templ,k,len,rec,inde:integer;
tempindex:integer;
data,data1:string;
tempstr:string;
function getlen:integer;
var i1,j1,k1:integer;
begin
for i1:=0 to adodataset1.FieldCount-1 do
begin
j1:=j1+adodataset1.Fields[i1].Size ;
end;
end;
begin
assignfile(item,'c:/1.txt');
adodataset1.First ;
rewrite(item);
while not (adodataset1.Eof) do
begin
for i:=0 to adodataset1.FieldCount-1 do
begin
tempstr:=adodataset1.Fields.AsString ;
len:=adodataset1.Fields.Size ;
templ:=length(trim(tempstr));
if templ<len then//如果该字段的值的长度比字段大小要小
begin
for k:=0 to (len-templ) do//小的个数
tempstr:=tempstr+'*';//补上空格
end;
data:=data+tempstr ;//加上数据
if length(data)=getlen then //如果加了的数据之和等于该条数据记录的长度就换行
begin
data:=data+#13+#10;
writeln(item,data);
adodataset1.Recordset.MoveNext ;
end;
data:=data+#13+#10;
writeln(item,data);
adodataset1.Recordset.MoveNext ;
end;
end;
flush(item);
closefile(item);
messagebox(handle,'warning','sucessful',1);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
adodataset1.Recordset.PageSize :=10;
button1.Click;
end;
系统提示:
project raised exception class eoleexception with
message 'bof' 或EOF 中有一个是真,或者当前的记录以被删除,所畜的
操作要求一个当前的记录
如何解决呀?
我把 while not (adodataset1.Eof) do 这句去掉换成FOR I:=0 TO ADODATASET1。COUNT-1 DO
也是提示出错,但如果都不要它只执行字段个数次循环
 
应该怎么改写一下呢?
 
BDE不能分页控制
 
多人接受答案了。
 
后退
顶部