⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udm.pas

📁 在SQL Server企业管理器中无法收缩日志时可用此工具
💻 PAS
字号:
unit Udm;

interface

uses
  SysUtils, Classes, DB, ADODB,Windows,Dialogs,forms,Controls,Graphics,
  DBCtrls,StdCtrls ;

type
  TDM = class(TDataModule)
    con: TADOConnection;
    procedure DataModuleDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    strServer:string;
    strUser:string;
    strPassword:string;
    strdatabase:string;
    WindowsLogin:boolean;
    function ConnectionDataBase:boolean;

    //数据库操作
    function  ExecSQL(SQL:string):integer;//执行一个SQL
    function  GetRecordSet(SQL:string):TADOQuery;//根据SQL返回TADOQUERY
    function  ExecScalar(SQL:string):string;//执行只返回一个直的SQL,并返回结果

  end;

var
  DM: TDM;

implementation

{$R *.dfm}

function TDM.ConnectionDataBase: boolean;
var
  ConnectString:string ;
begin


  If WindowsLogin Then
    ConnectString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;'+
    'Persist Security Info=False;Initial Catalog=' + strdatabase +
    ';Data Source=' + strServer
  Else
    ConnectString := 'Provider=SQLOLEDB.1;Persist Security Info=True;User ID=' +
     struser + ';PASSWORD=' + strpassword + ';Initial Catalog=' + strdatabase +
     ';DataSource=' + strserver;

  con.ConnectionString :=ConnectString;
  con.LoginPrompt := false;
  con.ConnectionTimeout :=30;
  try
  con.Connected:=true;
  except
  result:=false;
  exit;
  end;
  result:=true;

end;

function TDM.ExecScalar(SQL: string): string;
var
   s:string;
   query:TAdoQuery;
begin
   query:=tadoquery.Create(self);
   query.Connection :=con ;
   query.Close ;
   query.SQL.Clear ;
   query.SQL.Add(sql);
   query.Open ;
   s:='';
   if(query.RecordCount>0) then
   s:=query.Fields[0].AsString;
   query.Close ;
   query.Destroy;
   ExecScalar:=s;

end;

function TDM.ExecSQL(SQL: string): integer;
var
  i:integer;
  query:TAdoQuery;
begin
   query:=tadoquery.Create(self);
   query.Connection :=con ;
   query.Close ;
   query.SQL.Clear ;
   query.SQL.Add(sql);
   i:=query.ExecSQL ;
   query.Close ;
   query.Destroy;
   ExecSQL:=i;

end;

function TDM.GetRecordSet(SQL: string): TADOQuery;
var
  query:TAdoQuery;
begin
   query:=tadoquery.Create(self);
   query.Connection :=con ;
   query.Close ;
   query.SQL.Clear ;
   query.SQL.Add(sql);
   query.Open ;
   GetRecordSet:=query;
end;
procedure TDM.DataModuleDestroy(Sender: TObject);
begin
 con.Connected:=false;   con.Destroy;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -