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

📄 u_dbpublicpack.pas

📁 软件功能:下载一个网站上所有的彩铃! 铃声下载完后
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit U_DBPublicPack;

Interface
Uses
  Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Menus,
  Dialogs,Buttons,StdCtrls,Mask,ExtCtrls,ADODB,QControls,ComCtrls,IniFiles,CheckLst,
  ShellAPI,DateUtils,ComObj,Math,DBGrids,U_RecordStruct,Spin, U_PulicPack;

//清空控制面板的显示数据
Procedure ListNull(ControlMod:TPanel);
//设置DBGRID的属性
Procedure SetDbgridCaption(Dbgrid:TDbgrid;ColumnCount,FieldWidth:Integer;FieldName,TitleCaption:String);
//获取数据库连接字符串(SqlServer2000)
Function GetDBConnectionString(ComputerName,DataBaseName,UserName,UserPassWord:String):String;Overload;
//获取数据库连接字符串(Oracle9i)
Function GetDBConnectionString(DataBaseName,UserName,UserPassWord:String):String;Overload;
//获取数据库连接字符串(DataSource)
Function GetDBConnectionString(DataSourceName,DataBaseFilePath:String):String;Overload;
//连接SQLSERVER2000数据库
Function ConnectDataBase(ADOConnection:TADOConnection;ComputerName,DataBaseName,UserName,UserPassWord:String):Boolean;OverLoad;
//连接SQLSERVER2000数据库
Function ConnectDataBase(ADOConnection:TADOConnection;DBConnectionString:String):Boolean;OverLoad;
//连接SQLSERVER2000的服务器
Procedure ConnectServer(ADOConnection:TADOConnection;ServerName,UserName,PassWord:String);OverLoad;
//连接SQLSERVER2000的服务器
Procedure ConnectServer(DBConnectionString,ServerName,UserName,PassWord:String);OverLoad;
//获取数据库的时间
Function GetDBDateTime(DBConnectionString:String):TDateTime;OverLoad;
//获取数据库的时间
Function GetOracleDBDateTime(DBConnectionString:String):TDateTime;
//获取数据库的时间
Function GetDBDateTime(ADOConnection:TADOConnection):TDateTime;OverLoad;
//判断是否可以登录
Function CheckLogin(ADOConnection:TADOConnection;LoginTableName:String;LoginUserCode:String;LoginUserPassWord:String):Integer;OverLoad;
//判断是否可以登录
Function CheckLogin(DBConnectionString,LoginTableName:String;LoginUserCode:String;LoginUserPassWord:String):Integer;OverLoad;
//插入新记录
Function InsertRec(ADOTable:TADOTable;ControlMod:TPanel):Boolean;OverLoad;
//插入新记录
Function InsertRec(ADOQuery:TADOQuery;ControlMod:TPanel;IsHaveAutoID:Boolean):Boolean;OverLoad;
//修改表记录
Function UpdateRec(ADOTable:TADOTable;ControlMod:TPanel):Boolean;OverLoad;
//修改表记录
Function UpdateRec(ADOQuery:TADOQuery;ControlMod:TPanel;IsHaveAutoID:Boolean):Boolean;OverLoad;
//删除表记录
Function DeleteRec(ADOTable:TAdoTable;ControlMod:TPanel):Boolean;OverLoad;
//删除表记录
Function DeleteRec(ADOQuery:TADOQuery;ControlMod:TPanel;IsHaveAutoID:Boolean):Boolean;OverLoad;
//刷新数据
Procedure FlashRec(ADOTable:TAdoTable);OverLoad;
//刷新数据
Procedure FlashRec(ADOQuery:TADOQuery);OverLoad;
//显示表数据
Procedure ListRec(ADOTable:TAdoTable;ControlMod:TPanel;ListOption:Integer);OverLoad;
//显示表数据
Procedure ListRec(ADOQuery:TADOQuery;ControlMod:TPanel;ListOption:Integer;IsHaveAutoID:Boolean);OverLoad;
//删除给定的表
Function DropTable(ADOConnection:TADOConnection;TableName:String):Boolean;OverLoad;
//删除给定的表
Function DropTable(DBConnectionString,TableName:String):Boolean;OverLoad;
//删除给定的数据库
Function DropDataBase(ADOConnection:TADOConnection;DataBaseName:String):Boolean;OverLoad;
//删除给定的数据库
Function DropDataBase(DBConnectionString,DataBaseName:String):Boolean;OverLoad;
//备份指定的数据库到给定的路径文件
Function BackUpDataBase(ADOConnection:TADOConnection;DataBaseName,FileName:String):Boolean;OverLoad;
//备份指定的数据库到给定的路径文件
Function BackUpDataBase(DBConnectionString,DataBaseName,FileName:String):Boolean;OverLoad;
//还原指定的路径文件到给定的数据库
Function RestoreDataBase(ADOConnection:TADOConnection;DataBaseName,FileName:String):Boolean;OverLoad;
//还原指定的路径文件到给定的数据库
Function RestoreDataBase(DBConnectionString,DataBaseName,FileName:String):Boolean;OverLoad;
//删除给定的数据库用户
Function DropUser(ADOConnection:TADOConnection;UserName:String):Boolean;OverLoad;
//删除给定的数据库用户
Function DropUser(DBConnectionString,UserName:String):Boolean;OverLoad;
//删除给定的触发器
Function DropTrigger(ADOConnection:TADOConnection;TriggerName:String):Boolean;OverLoad;
//删除给定的触发器
Function DropTrigger(DBConnectionString,TriggerName:String):Boolean;OverLoad;
//删除给定的存储过程
Function DropProcedure(ADOConnection:TADOConnection;ProcedureName:String):Boolean;OverLoad;
//删除给定的存储过程
Function DropProcedure(DBConnectionString,ProcedureName:String):Boolean;OverLoad;
//删除给定的视图
Function DropView(ADOConnection:TADOConnection;ViewName:String):Boolean;OverLoad;
//删除给定的视图
Function DropView(DBConnectionString,ViewName:String):Boolean;OverLoad;
//从指定的表取出表结构
Function GetTableStruct(ADOConnection:TADOConnection;ComputeName,DataBaseName,TableName,StructTableName:String):String;OverLoad;
//从指定的表取出表结构
Function GetTableStruct(DBConnectionString,ComputeName,DataBaseName,TableName,StructTableName:String):String;OverLoad;
//创建一个数据表,表结构从存放数据表结构中取
Function CreateTableName(ADOConnection:TADOConnection;ComputeName,DataBaseName,TableName,StructTableName:String):Boolean;OverLoad;
//创建一个数据表,表结构从存放数据表结构中取
Function CreateTableName(DBConnectionString,ComputeName,DataBaseName,TableName,StructTableName:String):Boolean;OverLoad;
//修改表名
Function UpdateTableName(ADOConnection:TADOConnection;OldTableName:String;NewTableName:String):Boolean;OverLoad;
//修改表名
Function UpdateTableName(DBConnectionString,OldTableName:String;NewTableName:String):Boolean;OverLoad;
//修改数据库名
Function UpdateDataBaseName(ADOConnection:TADOConnection;OldDataBaseName:String;NewDataBaseName:String):Boolean;OverLoad;
//修改数据库名
Function UpdateDataBaseName(DBConnectionString,OldDataBaseName:String;NewDataBaseName:String):Boolean;OverLoad;
//显性执行Sql语句
Function ExecSqlStr(var ADOQuery:TADOQuery;DBConnectionString,SqlStr:String;OpenFlag:Boolean):Boolean;OverLoad;
//显性执行Sql语句
Function ExecSqlStr(Var ADOQuery:TADOQuery;ADOConnection:TADOConnection;SqlStr:String;OpenFlag:Boolean):Boolean;OverLoad;
//隐性执行Sql语句
Function ExecSqlStr(DBConnectionString,SqlStr:String):Boolean;OverLoad;
//隐性执行Sql语句
Function ExecSqlStr(ADOConnection:TADOConnection;SqlStr:String):Boolean;OverLoad;
//调整本机时间与数据库服务器一致
Function AdjustLocalDate(ADOConnection:TADOConnection):Boolean;OverLoad;
//调整本机时间与数据库服务器一致
Function AdjustLocalDate(DBConnectionString:String):Boolean;OverLoad;

//2005-04-27
Procedure GetAllDateBaseName(aList:TStrings;aServerName:String);
Procedure GetAllTableName(aServerName,aDataBaseName:String;aList:TStrings);

Implementation
    Uses U_OtherPublicPack, DB, U_Main;
//清空控制面板的显示数据
Procedure ListNull(ControlMod:TPanel);
Var
  Count:Integer;
Begin
  For Count:=0 To ControlMod.ControlCount-1 Do
  Begin
    If Controlmod.Controls[Count].Tag=0 Then
      Continue;
    If Controlmod.controls[Count] is TEdit Then
      (Controlmod.Controls[Count] as TEdit).Text:='';
    If (Controlmod.controls[Count] is TComboBox) Then
      (Controlmod.Controls[Count] as TComboBox).Text:='';
    If (Controlmod.controls[Count] is TMemo) Then
      (Controlmod.Controls[Count] as TMemo).Text:='';
    If (Controlmod.controls[Count] is TSpinEdit) Then
      (Controlmod.Controls[Count] as TSpinEdit).Text:='';
    If (Controlmod.Controls[Count] is TDateTimePicker) Then
      (Controlmod.Controls[Count] as TDateTimePicker).DateTime:=Now;
  End;
End;
//设置DBGRID的属性
Procedure SetDbgridCaption(Dbgrid:TDbgrid;ColumnCount,FieldWidth:Integer;FieldName,TitleCaption:String);
Begin
  Dbgrid.Columns[ColumnCount].FieldName:=FieldName;
  Dbgrid.Columns[ColumnCount].Title.Caption:=TitleCaption;
  Dbgrid.Columns[ColumnCount].Title.Alignment:=taCenter;
  If FieldWidth>-1 Then
    Dbgrid.Columns[ColumnCount].Width:=FieldWidth;
End;
//获取数据库连接字符串(SqlServer2000)
Function GetDBConnectionString(ComputerName,DataBaseName,UserName,UserPassWord:String):String;
Var
  DBConnectionString:String;
Begin
  DBConnectionString:='Provider=SQLOLEDB.1;Password='+UserPassWord+';Persist Security Info=True;User ID='+UserName+';Initial Catalog='+DataBaseName+';Data Source='+ComputerName;
  Result:=DBConnectionString;
End;
//获取数据库连接字符串(Oracle9i)
Function GetDBConnectionString(DataBaseName,UserName,UserPassWord:String):String;
Var
  DBConnectionString:String;
Begin
  DBConnectionString:='Provider=MSDAORA.1;Password='+UserPassWord+';User ID='+UserName+';Data Source='+DataBaseName+';Persist Security Info=True';
  Result:=DBConnectionString;
End;
//获取数据库连接字符串(DataSource)
Function GetDBConnectionString(DataSourceName,DataBaseFilePath:String):String;
Var
  DBConnectionString:String;
Begin
  DBConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;Data Source='+DataSourceName+';Initial Catalog='+DataBaseFilePath;
  Result:=DBConnectionString;
End;
//连接SQLSERVER2000数据库
Function ConnectDataBase(ADOConnection:TADOConnection;ComputerName,DataBaseName,UserName,UserPassWord:String):Boolean;
Begin
  Try
    With ADOConnection Do
    Begin
      ADOConnection.LoginPrompt:=False;
      ConnectionString:='Provider=SQLOLEDB.1;Password='+UserPassWord+';Persist Security Info=True;User ID='+UserName+';Initial Catalog='+DataBaseName+';Data Source='+ComputerName;
      Connected:=False;
      Connected:=True;
      //MessageDLG('连接数据库成功!',MtError,[mbok],0);
      Result:=True;
    End;
  Except
    On E:EOleException Do
    Begin
      Result:=False;
      Beep();Beep();
      //MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
End;
//连接SQLSERVER2000数据库
Function ConnectDataBase(ADOConnection:TADOConnection;DBConnectionString:String):Boolean;
Begin
  With ADOConnection Do
  Begin
    ADOConnection.LoginPrompt:=False;
    Try
      Connected:=False;
      ConnectionString:=DBConnectionString;
      Connected:=True;
      Result:=True;
    Except
      On E:EOleException Do
      Begin
        Result:=False;
        Beep();Beep();
        //MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
      End;
    End;
  End;
End;
//连接SQLSERVER2000的服务器
Procedure ConnectServer(ADOConnection:TADOConnection;ServerName,UserName,PassWord:String);
Var
  ADOQuery:TADOQuery;
Begin
  Try
    ADOQuery:=TADOQuery.Create(nil);
    ADOQuery.Connection:=ADOConnection;
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Add('Exec sp_AddLinkedServer '+''''+ServerName+'''');
    ADOQuery.ExecSQL;
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Add('Exec sp_addlinkedsrvlogin '+''''+ServerName+''''+',false,null,'+''''+UserName+''''+','+''''+PassWord+'''');
    ADOQuery.ExecSQL;
  Except
    On E:EOleException Do
    Begin
      Beep();Beep();
      //MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
  ADOQuery.Free;
End;
//连接SQLSERVER2000的服务器
Procedure ConnectServer(DBConnectionString,ServerName,UserName,PassWord:String);
Var
  ADOQuery:TADOQuery;
Begin
  Try
    ADOQuery:=TADOQuery.Create(nil);
    ADOQuery.ConnectionString:=DBConnectionString;
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Add('Exec sp_AddLinkedServer '+''''+ServerName+'''');
    ADOQuery.ExecSQL;
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Add('Exec sp_addlinkedsrvlogin '+''''+ServerName+''''+',false,null,'+''''+UserName+''''+','+''''+PassWord+'''');
    ADOQuery.ExecSQL;
  Except
    On E:EOleException Do
    Begin
      Beep();Beep();
      //MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
  ADOQuery.Free;
End;
//获取数据库的时间
Function GetDBDateTime(DBConnectionString:String):TDateTime;
Var
  ADOQuery:TADOQuery;
  StrSql,RepeatStr:String;
Begin
  Try
    ADOQuery:=TADOQuery.Create(nil);
    With ADOQuery Do
    Begin
      ConnectionString:=DBConnectionString;
      Close;
      SQL.Clear;
      StrSql:='Select GetDate() As DbCurrentDateTime';
      SQL.Add(StrSql);
      Open;
      If Not Eof Then
      Begin
        Result:=FieldByName('DbCurrentDateTime').AsDateTime;
      End;
    End;
  Except
    On E:EOleException Do
    Begin
      Beep();Beep();
      //MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
  ADOQuery.Free;
End;
//获取数据库的时间
Function GetOracleDBDateTime(DBConnectionString:String):TDateTime;
Var
  ADOQuery:TADOQuery;
  StrSql,RepeatStr:String;
Begin
  Try
    ADOQuery:=TADOQuery.Create(nil);
    With ADOQuery Do
    Begin
      ConnectionString:=DBConnectionString;
      Close;
      SQL.Clear;
      StrSql:='Select SysDate As CurrentDateTime  From Dual';
      SQL.Add(StrSql);
      Open;
      If Not Eof Then
      Begin
        Result:=FieldByName('CurrentDateTime').AsDateTime;
      End;
    End;
  Except
    On E:EOleException Do
    Begin
      Beep();Beep();
      //MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
  ADOQuery.Free;
End;
//获取数据库的时间
Function GetDBDateTime(ADOConnection:TADOConnection):TDateTime;
Var
  ADOQuery:TADOQuery;
  StrSql:String;
Begin
  Try
    ADOQuery:=TADOQuery.Create(nil);
    With ADOQuery Do
    Begin
      ADOQuery.Connection:=ADOConnection;
      Close;
      SQL.Clear;

⌨️ 快捷键说明

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