打印本文 打印本文 关闭窗口 关闭窗口
ADO带密码的数据连接、查询一个记录集、执行一SQL语句
作者:武汉SEO闵涛  文章来源:敏韬网  点击数560  更新时间:2009/4/23 10:45:03  文章录入:mintao  责任编辑:mintao

unit UDataModule;

interface

uses
   Controls,SysUtils, Classes, DB, ADODB,windows,forms,CustomCom_TLB;

type
  TDataModule1 = class(TDataModule)
    ADOConnection1: TADOConnection;
    dsDataSet: TADODataSet;
    ADOQuery1: TADOQuery;
    procedure DataModuleCreate(Sender: TObject);
  private
    { Private declarations }
  public
    ConnOK:boolean;
    { Public declarations }
  end;

var
  DataModule1: TDataModule1;
  loginMan : string;
  loginManID:integer;
  isManager:boolean;
  myCom : ICustomMG ; // COM 对象
  function OpenSQL(s: string;query:TADODataSet):integer;
  function DoSQL(s: string;query:TADOQuery):boolean;
 
implementation

{$R *.dfm}

procedure TDataModule1.DataModuleCreate(Sender: TObject);
var SQL,pwd:string;
begin
  //连接ADO
  try
    pwd := ''''deliSerial'''';
    SQL := ''''Provider=Microsoft.Jet.OLEDB.4.0;Data Source=''''+
         extractfilepath(paramstr(0))+''''SerialInfo.mdb''''+
         '''';Persist Security Info=False;''''  +
         ''''Jet OLEDB:Database Password="''''+pwd+''''"'''';
    ADOConnection1.Connected := false;
    ADOConnection1.ConnectionString := SQL;
    ADOConnection1.Connected := true;
    ConnOK:=true;
  except
    ConnOK:=false;
  end;
end;

function OpenSQL(s: string;query:TADODataSet):integer;
var old_Cursor:TCursor;
begin
  old_Cursor:=screen.cursor;
  screen.cursor:=crSQLWait;
  try
    try
      with query do
      begin
        close;
        commandtext:=s;
        open;
        result:=query.recordcount;
      end;
    except
     result:=0;
    end;
  finally
    screen.cursor:=old_Cursor;
  end;
end;

function DoSQL(s: string;query:TADOQuery):boolean;
var old_Cursor:TCursor;
begin
  result:=true;
  old_Cursor:=screen.cursor;
  screen.cursor:=crSQLWait;
  try
    try
      with query do
      begin
        close;
        SQL.Clear ;
        SQL.Add(s);
        ExecSQL;
      end;
    except
      result:=false;
    end;
  finally
    screen.cursor:=old_Cursor;
  end;
end;

end.

打印本文 打印本文 关闭窗口 关闭窗口