📄 ufrmqryado.pas
字号:
unit UfrmQryADO;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids;
type
TfrmQryADO = class(TForm)
adoConnection: TADOConnection;
bbtOpen: TBitBtn;
OpenDialog1: TOpenDialog;
editPath: TEdit;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
editUser: TEdit;
editPass: TEdit;
bbtLink: TBitBtn;
bbtQry: TBitBtn;
mo: TMemo;
bbtUnLink: TBitBtn;
bbtClose: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ListBox1: TListBox;
procedure LinkADO();
procedure bbtOpenClick(Sender: TObject);
procedure bbtLinkClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure bbtQryClick(Sender: TObject);
procedure bbtUnLinkClick(Sender: TObject);
procedure bbtCloseClick(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmQryADO: TfrmQryADO;
implementation
{$R *.dfm}
procedure TfrmQryADO.LinkADO();
var
vdir,ss : String;
slt:TStringList;
i:integer;
begin
vDir := ExtractFilePath(application.ExeName);
adoConnection.Connected := false;
bbtLink.Enabled := false;
bbtUnLink.Enabled := false;
{
Provider=MSDASQL.1;
Password=why;
Persist Security Info=True;
User ID=admin;
Extended Properties="DBQ=E:\card\cardBase.mdb;
DefaultDir=E:\delphi\card;Driver={Microsoft Access Driver (*.mdb)}; //}
{
DriverId=25;
Exclusive=1;
FIL=MS Access;
MaxBufferSize=2048;
MaxScanRows=8;
PageTimeout=5;
ReadOnly=0;
SafeTransactions=0;
Threads=3;
UID=admin;
UserCommitSync=Yes;"
//}
//adoConnection.ConnectionString := 'Provider=MSDASQL.1;Password=why;'+
// 'Persist Security Info=True;User ID=admin;Extended Properties="'+
// 'DBQ='+vdir+'cardBase.mdb;'+
// 'Driver={Microsoft Access Driver (*.mdb)};'+
// 'DriverId=25;Exclusive=1;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;'+
// 'PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID=admin;"';
//}
adoConnection.ConnectionString := 'Provider=MSDASQL.1;Password='+editPass.Text+';'+
'Persist Security Info=True;User ID='+editUser.text+';Extended Properties="'+
'DBQ='+editPath.Text+';'+
'Driver={Microsoft Access Driver (*.mdb)};'+
'DriverId=25;Exclusive=1;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;'+
'PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID='+editUser.text+';"';
try
adoConnection.Connected := true;
except
exit;
end;
listbox1.Items.Clear;
slt := TStringList.Create();
adoConnection.GetTableNames(slt,false);//B
for i := 0 to slt.Count-1 do
begin
ss := slt.Strings[i];
//ss := copy(ss,5,length(ss)-4);
listbox1.Items.Add( ss );
end;
slt.Free;
bbtUnLink.Enabled := true;
bbtQry.Enabled := true;
end;
procedure TfrmQryADO.bbtOpenClick(Sender: TObject);
begin
bbtLink.Enabled := false;
editPath.Text := '';
if OpenDialog1.Execute then
begin
editPath.Text := OpenDialog1.FileName;
bbtLink.Enabled := true;
end;
end;
procedure TfrmQryADO.bbtLinkClick(Sender: TObject);
begin
LinkADO;
end;
procedure TfrmQryADO.FormDestroy(Sender: TObject);
begin
adoConnection.Connected := false;
end;
procedure TfrmQryADO.bbtQryClick(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text := mo.Text ;
try
ADOQuery1.Open;
except
end;
end;
procedure TfrmQryADO.bbtUnLinkClick(Sender: TObject);
begin
adoConnection.Connected := false;
bbtLink.Enabled := true;
bbtUnLink.Enabled := false;
bbtQry.Enabled := false;
listbox1.Items.Clear;
end;
procedure TfrmQryADO.bbtCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmQryADO.ListBox1Click(Sender: TObject);
var
ss:string;
begin
if ListBox1.Items.Count > 0 then
begin
ss := ListBox1.Items.Strings[ListBox1.ItemIndex];
mo.Text := 'select * from '+ss;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -