var
ID:string;
begin
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+edit4.Text +';Persist Security Info=True;User ID='+edit3.Text +';Initial Catalog='+edit2.Text+';Data Source='+edit5.Text ;
try
adoconnection1.Connected:=true;
except
Application.MessageBox('连接数据库失败!!','错误',MB_OK+MB_ICONERROR);
exit;
end; ADOQuery1.Active:=false;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from TBL_ACCOUNT');
adoquery1.open;
while not Adoquery1.eof do
begin
adoquery1.First;
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
adoquery1.next;
memo1.lines.Add(ID);
end;
end;
表里明明有7条数据 可是执行结果怎么会一直重复第一条纪录呢
ID:string;
begin
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+edit4.Text +';Persist Security Info=True;User ID='+edit3.Text +';Initial Catalog='+edit2.Text+';Data Source='+edit5.Text ;
try
adoconnection1.Connected:=true;
except
Application.MessageBox('连接数据库失败!!','错误',MB_OK+MB_ICONERROR);
exit;
end; ADOQuery1.Active:=false;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from TBL_ACCOUNT');
adoquery1.open;
while not Adoquery1.eof do
begin
adoquery1.First;
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
adoquery1.next;
memo1.lines.Add(ID);
end;
end;
表里明明有7条数据 可是执行结果怎么会一直重复第一条纪录呢
解决方案 »
- 需要加密的字符多,加完密之后字符少,然后解密后还原到原来的字符串。有这样的加密解密算法吗?
- 各位大侠,救救急,一有正确答案统统有分
- 用installshield express做安装程序的问题
- image的问题!
- 关于COM 和 TApplication(Forms单元,来者有分,不够再加分)
- 弹出Unit 'FileCtrl' is specific to a platform警告..
- 问一个简单的指针问题
- 程序中有两个form怎么实现form1执行后在执行form2?
- 大家讨论一下,用delphi开发网络数据库应用时,有什么好的办法实现不同的用户只能用不同的功能,即权限管理。
- wangxd1976(西门吹雪),Kingron(WinAPI),快来帮我看看!!就“?一个table,一个datasource,一个dbgrid,一个query,利用tablename显示不同数据库的关于SQL查询的问题”那帖子
- 为什么会有这么奇怪的通信问题?
- 如何获取ie页面元素信息
ID:string;
begin
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+edit4.Text +';Persist Security Info=True;User ID='+edit3.Text +';Initial Catalog='+edit2.Text+';Data Source='+edit5.Text ;
try
adoconnection1.Connected:=true;
except
Application.MessageBox('连接数据库失败!!','错误',MB_OK+MB_ICONERROR);
exit;
end; ADOQuery1.Active:=false;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from TBL_ACCOUNT');
adoquery1.open;
while not Adoquery1.eof do
begin
//adoquery1.First; 不要这个
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
adoquery1.next;
memo1.lines.Add(ID);
end;
end;
adoquery1.next;矛盾,adoquery1.first返回表首,然后next可不就是重复吗
while not Adoquery1.eof do
begin
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
adoquery1.next;
memo1.lines.Add(ID);
end;
ID:string;
begin
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+edit4.Text +';Persist Security Info=True;User ID='+edit3.Text +';Initial Catalog='+edit2.Text+';Data Source='+edit5.Text ;
try
adoconnection1.Connected:=true;
except
Application.MessageBox('连接数据库失败!!','错误',MB_OK+MB_ICONERROR);
exit;
end; ADOQuery1.Active:=false;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from TBL_ACCOUNT');
adoquery1.open;
adoquery1.First;
while not Adoquery1.eof do
begin
//adoquery1.First;
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring;
memo1.lines.Add(ID);
adoquery1.next;
end;
end;
begin
//adoquery1.First;这里去掉
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
adoquery1.next;
memo1.lines.Add(ID);
end;
查询的时候,没特殊需要,不用加First吧,默认就是first开始的。
With DM.OraQuery1 do
begin
Close;
SQL.Text:='Select * From DAA01';
Open;
try
while not eof do
begin
//
end;
except
end;
end;
with DM.OraQuery1 do
begin
Close;
SQL.Text:='Select * From DM_JB';
Open;
while not Eof do
begin
cbxSJB.Items.Add(FieldByName('JB').AsString);
Next;
end;
end;
Except
messagedlg('不能正确打开数据库!', mtinformation, [mbok], 0);
End;
begin
if (not Eof) or (RecordCount>0) then
begin
First;
while not Eof do
begin
sqltosql:= fieldbyname('FLD_LOGINID').asstring; ;
memo1.lines.Add(ID);
Next;
end;
end;
end;
ID:string;
begin
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+edit4.Text +';Persist Security Info=True;User ID='+edit3.Text +';Initial Catalog='+edit2.Text+';Data Source='+edit5.Text ;
try
adoconnection1.Connected:=true;
except
Application.MessageBox('连接数据库失败!!','错误',MB_OK+MB_ICONERROR);
exit;
end; with ADOQuery1 do
begin
Active:=false;
SQL.Clear;
SQL.Add('select * from TBL_ACCOUNT');
open;
First; //放到这里
end;
while not Adoquery1.eof do
begin
//Adoquery1.First; 去掉
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
adoquery1.next;
memo1.lines.Add(ID);
end;
end;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from TBL_ACCOUNT');
adoquery1.open;
adoquery1.First;
while not Adoquery1.eof do
begin
ID:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
memo1.lines.Add(ID);
adoquery1.next;
end;
begin
adoquery1.First;
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
adoquery1.next;
memo1.lines.Add(ID);
end;
你把 adoquery1.First;放在while循环里当然会这样了。每次无论你怎么改变进入循环后都是会从第一个记录开始能部重复吗?
把adoquery1.First;移到wile条件前面adoquery1.First;
while not Adoquery1.eof do
begin
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring; ;
adoquery1.next;
memo1.lines.Add(ID);
end;
加为好友
发送私信
在线聊天
simonhehe
猩猩无罪
等级:
发表于:2008-06-30 09:23:444楼 得分:0
var
ID:string;
begin
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+edit4.Text +';Persist Security Info=True;User ID='+edit3.Text +';Initial Catalog='+edit2.Text+';Data Source='+edit5.Text ;
try
adoconnection1.Connected:=true;
except
Application.MessageBox('连接数据库失败!!','错误',MB_OK+MB_ICONERROR);
exit;
end; ADOQuery1.Active:=false;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from TBL_ACCOUNT');
adoquery1.open;
adoquery1.First;
while not Adoquery1.eof do
begin
//adoquery1.First;
sqltosql:=adoquery1.fieldbyname('FLD_LOGINID').asstring;
memo1.lines.Add(ID);
adoquery1.next;
end;
end;