unit frm_Ado; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB; type TForm_Ado = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; procedure FormCreate(Sender: TObject); private { Private declarations } public function AdoAddInfo(AppName: string; AppType: integer;AppPath: string): Boolean; function GetAppPath(AppName: string): string; function UpDateAppPath(AppName, mAppPath: string): Boolean; function DelAdoInfo(AppName: string): Boolean; function GetAppCount(AppName: string): integer; { Public declarations } end; var Form_Ado: TForm_Ado; implementation {$R *.dfm} procedure TForm_Ado.FormCreate(Sender: TObject); begin // 联接access数据库 ADOConnection1.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' + SysUtils.ExtractFilePath (application.ExeName) + 'AppPath.accdb;Persist Security Info=False'; ADOConnection1.KeepConnection := true; ADOConnection1.LoginPrompt := false; ADOConnection1.Connected := true; end; function TForm_Ado.DelAdoInfo(AppName: string): Boolean; var sqlStr: string; begin result := false; sqlStr := 'delete FROM Tb_AppPath where(AppName=' + #39 + AppName + #39 + ')'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.ExecSQL; ADOQuery1.Close; result := true; end; function TForm_Ado.AdoAddInfo(AppName: string; AppType: integer;AppPath: string): Boolean; var sqlStr: string; counter: integer; begin result := false; sqlStr := 'INSERT INTO Tb_AppPath(AppName,AppType,AppPath) Values(' + #39 + AppName + #39 + ',' + inttostr(AppType) + ',' + #39 + AppPath + #39 + ')'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.ExecSQL; ADOQuery1.Close; result := true; end; function TForm_Ado.UpDateAppPath(AppName: string; mAppPath: string): Boolean; var sqlStr: string; begin result := false; sqlStr := 'update Tb_AppPath Set AppPath=' + #39 + mAppPath + #39 + 'where(AppName=' + #39 + AppName + #39 + ')'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.ExecSQL; ADOQuery1.Close; result := true; end; function TForm_Ado.GetAppPath(AppName: string): string; var sqlStr: string; begin result := ''; sqlStr := 'select AppPath from Tb_AppPath where(AppName=' + #39 + AppName + #39 + ')'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.open; result := ADOQuery1.FieldByName('AppPath').AsString; ADOQuery1.Close; end; function TForm_Ado.GetAppCount(AppName: string): integer; var sqlStr: string; begin result := 0; sqlStr := 'select count(AppName) from Tb_AppPath where(AppName=' + #39 + AppName + #39 + ')'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.open; result := ADOQuery1.fields[0].Asinteger; ADOQuery1.Close; end; end.
//添加 procedure TForm_Ado.AdoSetNTPolcy(SvrAdmin, SvrPsw: string); var sqlStr: string; counter: integer; begin sqlStr := 'select Count(*) from tb_ntpolcy where(ntname=' + #39 + SvrAdmin + #39 + ')'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.open; counter := ADOQuery1.Fields[0].AsInteger; ADOQuery1.Close; if counter = 0 then begin sqlStr := 'INSERT INTO tb_ntpolcy(ntname,ntpsw) Values(' + #39 + SvrAdmin + #39 + ',' + #39 + SvrPsw + #39 + ')'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.ExecSQL; ADOQuery1.Close; end; end; //遍历结果集 procedure TForm_Ado.AdoGetNTPolcy(var listNTPolcy: Tlist); var sqlStr: string; pNtPolcy: PAccount; begin sqlStr := 'select * from tb_ntpolcy'; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(sqlStr); ADOQuery1.open; while not ADOQuery1.eof do begin New(pNtPolcy); pNtPolcy.ntname := ADOQuery1.FieldByname('ntname').AsString; pNtPolcy.ntpwd := ADOQuery1.FieldByname('ntpsw').AsString; if pNtPolcy.ntname <> '' then begin listNTPolcy.Add(pNtPolcy); end; ADOQuery1.Next; end; ADOQuery1.Close; end;
控件属性设置:
TADOConnection/
TADOQuery/Connection:=ADOConnection1
TDataSource/DataSet:=ADOQuery1