delphi 7 数据循环问题
请教高手,循环某一列全部数据,并且随机抽选一个数据怎么写代码?我用的是delphi7,ADO连接数据库,使用adotable,datasource,数据库是ACCESS请...
请教高手,循环某一列全部数据,并且随机抽选一个数据怎么写代码?
我用的是delphi 7,ADO连接数据库,使用adotable,datasource,数据库是ACCESS
请教高手,随着滚动条的滚动,数据库某一列数据随着滚动条的滚动而把数据反复显示在EDIT里面。怎么写代码?
procedure TForm1.Button1Click(Sender: TObject);
begin
adotable1.Open;
adotable1.First;
timer1.Enabled:=true;
if progressbar1.Position=progressbar1.Position+10 then
begin
adotable1.Next;
edit3.Text:=adotable1.FieldByName('前A').AsString;
end;
我这样写不对,不知道哪位高手指点一下。 展开
我用的是delphi 7,ADO连接数据库,使用adotable,datasource,数据库是ACCESS
请教高手,随着滚动条的滚动,数据库某一列数据随着滚动条的滚动而把数据反复显示在EDIT里面。怎么写代码?
procedure TForm1.Button1Click(Sender: TObject);
begin
adotable1.Open;
adotable1.First;
timer1.Enabled:=true;
if progressbar1.Position=progressbar1.Position+10 then
begin
adotable1.Next;
edit3.Text:=adotable1.FieldByName('前A').AsString;
end;
我这样写不对,不知道哪位高手指点一下。 展开
3个回答
展开全部
1.随机抽选一个数据:
假设你知道需要抽取的是哪个字段(不知道的话采用同样的随机方法):
你只要随机产生一个integer,这个int在你的Recordcount中,比如(我测试使用TStringList)。
procedure TForm1.Button1Click(Sender: TObject);
var
sList: TStringList;
i: Integer;
begin
sList:= TStringList.Create;
sList.Delimiter:= ',';
sList.DelimitedText := '2,56,4,6,98,2,25,46';
Randomize;//随机函数,保证每次都能随机产生不同的数
i := Random(sList.Count);//在List中产生一个值,在你的例子中可以换成adotable.Recordcount
ShowMessage(sList[i] );
//在你的例子中应该是,若有问题,请自己调试一下:
{
ADOTable1.RecNo := i;
Edit1.text := ADOTable1.Fields['FieldName'].AsString;
}
end;
2.随着数据集的滚动,Edit内容跟着变动
a。有两种方法,最方便的是使用TDBEdit控件绑定到要显示的栏位中
b。在DataSource的OnAfterScroll事件中添加代码:
Edit1.text := ADOTable1.Fields['FieldName'].AsString;
假设你知道需要抽取的是哪个字段(不知道的话采用同样的随机方法):
你只要随机产生一个integer,这个int在你的Recordcount中,比如(我测试使用TStringList)。
procedure TForm1.Button1Click(Sender: TObject);
var
sList: TStringList;
i: Integer;
begin
sList:= TStringList.Create;
sList.Delimiter:= ',';
sList.DelimitedText := '2,56,4,6,98,2,25,46';
Randomize;//随机函数,保证每次都能随机产生不同的数
i := Random(sList.Count);//在List中产生一个值,在你的例子中可以换成adotable.Recordcount
ShowMessage(sList[i] );
//在你的例子中应该是,若有问题,请自己调试一下:
{
ADOTable1.RecNo := i;
Edit1.text := ADOTable1.Fields['FieldName'].AsString;
}
end;
2.随着数据集的滚动,Edit内容跟着变动
a。有两种方法,最方便的是使用TDBEdit控件绑定到要显示的栏位中
b。在DataSource的OnAfterScroll事件中添加代码:
Edit1.text := ADOTable1.Fields['FieldName'].AsString;
展开全部
ADO.First;
while not ADO.Eof do
begin
showmessage(ADO.FieldByName('前A').AsString);
ADO.Next;
end;
while not ADO.Eof do
begin
showmessage(ADO.FieldByName('前A').AsString);
ADO.Next;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那你使用dbedit关联那个字段不就可以了么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询