delphi,用ADO操作数据库:
procedure TForm1.Button1Click(Sender: TObject); //*查询Bt*/
var
i :integer;
CurPage:integer;
NumEveryPage :integer;
begin
CurPage:=0;
NumEveryPage:=1000;
//1 ADOQuerySelect.Close;
//2 conn.Close;
conn.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;Data Source=MyAccessDatabase';
conn.LoginPrompt:=false; //不要输入密码
ADOQuerySelect.SQL.Clear; //查询数据
sql:='select * from '+ //查询语句,带参数量查询
' (select top %d * from '+
' (select top %d * from outputdata ' +
'order by 日期 '+
' )'+
' order by 日期 desc '+
' )'+
'order by 日期';
ADOQuerySelect.SQL.add(Format(sql,[NumEveryPage,NumEveryPage*(CurPage+1)]));
ADOQuerySelect.Prepared;
ADOQuerySelect.Active:=True; //执行查询
//ADOQuery1.Active:=true;
end;
当再次按按钮时会提示:
对象打开时不允许操作 的异常。定位在ADOQuerySelect.SQL.Clear; //查询数据 这一行。
去网上找到原因是ADOQuerySelect 打开了。
1在开始的时候加入一句:ADOQuerySelect.Close;把它关闭吧。
运行发现conn.LoginPromot:=false那行也提示一样的错误。那就应该是把conn也关了。
2 conn.Close也加上,就是上面的代码注释的那两行加上就好了。
阅读(8461) | 评论(0) | 转发(0) |