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

📄 u_dbpublicpack.pas

📁 软件功能:下载一个网站上所有的彩铃! 铃声下载完后
💻 PAS
📖 第 1 页 / 共 4 页
字号:
          If UpperCase(FieldType)='NUMERIC' Then
            FieldSql:=FieldSql+FieldName+' '+FieldType+' '+'('+FieldLength+','+FieldPoint+')';
          If Count<>RecordCount Then
            FieldSql:=FieldSql+','
          Else
            FieldSql:=FieldSql+')';
          Next;
        End;
      End;
    End;
    Result:=FieldSql;
  Except
    On E:EOleException Do
    Begin
      Result:='';
      MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
  ADOQuery.Free;
End;
//从指定的表取出表结构
Function GetTableStruct(DBConnectionString,ComputeName,DataBaseName,TableName,StructTableName:String):String;
Var
  Count:Integer;
  ADOQuery:TADOQuery;
  FieldType,FieldName,FieldLength,FieldPoint,FieldSql,SqlStr:String;
begin
  Try
    ADOQuery:=TADOQuery.Create(Nil);
    With ADOQuery Do
    Begin
      SqlStr:='Select FieldType,FieldName,FieldSize,FieldPointCount From '+StructTableName;
      SqlStr:=SqlStr+' Where ServerName='+''''+ComputeName+'''';
      SqlStr:=SqlStr+' And DataBaseName='+''''+DataBaseName+'''';
      SqlStr:=SqlStr+' And TableName='+''''+TableName+'''';
      ExecSqlStr(ADOQuery,DBConnectionString,SqlStr,True);
      If Not Eof Then
      Begin
        FieldSql:='(';Count:=0;
        While Count<=RecordCount-1 Do
        Begin
          Inc(Count);
          FieldType:=Trim(FieldByName('FieldType').AsString);
          FieldName:=Trim(FieldByName('FieldName').AsString);
          FieldLength:=Trim(FieldByName('FieldSize').AsString);
          FieldPoint:=Trim(FieldByName('FieldPointCount').AsString);
          If UpperCase(FieldType)='DATATIME' Then
            FieldSql:=FieldSql+FieldName+' '+FieldType;
          If UpperCase(FieldType)='VARCHAR' Then
            FieldSql:=FieldSql+FieldName+' '+FieldType+' '+'('+FieldLength+')';
          If UpperCase(FieldType)='NUMERIC' Then
            FieldSql:=FieldSql+FieldName+' '+FieldType+' '+'('+FieldLength+','+FieldPoint+')';
          If Count<>RecordCount Then
            FieldSql:=FieldSql+','
          Else
            FieldSql:=FieldSql+')';
          Next;
        End;
      End;
    End;
    Result:=FieldSql;
  Except
    On E:EOleException Do
    Begin
      Result:='';
      MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
  ADOQuery.Free;
End;
//创建一个数据表,表结构从存放数据表结构中取
Function CreateTableName(ADOConnection:TADOConnection;ComputeName,DataBaseName,TableName,StructTableName:String):Boolean;
Var
  SqlStr,FieldSqlText:String;
Begin
  FieldSqlText:=GetTableStruct(ADOConnection,ComputeName,DataBaseName,TableName,StructTableName);
  SqlStr:='Create Table '+TableName+' '+FieldSqlText;
  If ExecSqlStr(ADOConnection,SqlStr) Then Result:=True Else Result:=False;
End;
//创建一个数据表,表结构从存放数据表结构中取
Function CreateTableName(DBConnectionString,ComputeName,DataBaseName,TableName,StructTableName:String):Boolean;
Var
  SqlStr,FieldSqlText:String;
Begin
  FieldSqlText:=GetTableStruct(DBConnectionString,ComputeName,DataBaseName,TableName,StructTableName);
  SqlStr:='Create Table '+TableName+' '+FieldSqlText;
  If ExecSqlStr(DBConnectionString,SqlStr) Then Result:=True Else Result:=False;
End;
//修改表名
Function UpdateTableName(ADOConnection:TADOConnection;OldTableName:String;NewTableName:String):Boolean;
Var
  SqlStr:String;
Begin
  SqlStr:='Exec SP_Rename '+OldTableName+','+NewTableName;
  If ExecSqlStr(ADOConnection,SqlStr) Then Result:=True Else Result:=False;
End;
//修改表名
Function UpdateTableName(DBConnectionString,OldTableName:String;NewTableName:String):Boolean;
Var
  SqlStr:String;
Begin
  SqlStr:='Exec SP_Rename '+OldTableName+','+NewTableName;
  If ExecSqlStr(DBConnectionString,SqlStr) Then Result:=True Else Result:=False;
End;
//修改数据库名
Function UpdateDataBaseName(ADOConnection:TADOConnection;OldDataBaseName:String;NewDataBaseName:String):Boolean;
Var
  SqlStr:String;
Begin
  SqlStr:='SP_RenameDB '+OldDataBaseName+','+NewDataBaseName;
  If ExecSqlStr(ADOConnection,SqlStr) Then Result:=True Else Result:=False;
End;
//修改数据库名
Function UpdateDataBaseName(DBConnectionString,OldDataBaseName:String;NewDataBaseName:String):Boolean;
Var
  SqlStr:String;
Begin
  SqlStr:='SP_RenameDB '+OldDataBaseName+','+NewDataBaseName;
  If ExecSqlStr(DBConnectionString,SqlStr) Then Result:=True Else Result:=False;
End;
//显性执行Sql语句
Function ExecSqlStr(Var ADOQuery:TADOQuery;DBConnectionString,SqlStr:String;OpenFlag:Boolean):Boolean;
Begin


{
  select * from %s where gateid =%d %
  ADOQuery.sql.text := Format(SqlStr,['submit', 31]);
}
  Try
    Result:=True;
    With ADOQuery Do
    Begin
      ConnectionString:=DBConnectionString;
      Close;
      SQL.Clear;
      SQL.Add(SqlStr);
      If OpenFlag Then
        Open
      Else
        ExecSQL;
    End;
  Except
    On E:EOleException Do
    Begin
      Result:=False;
      MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
End;
//显性执行Sql语句
Function ExecSqlStr(Var ADOQuery:TADOQuery;ADOConnection:TADOConnection;SqlStr:String;OpenFlag:Boolean):Boolean;
Begin
  Try
    Result:=True;
    With ADOQuery Do
    Begin
      ADOQuery.Connection:=ADOConnection;
      Close;
      SQL.Clear;
      SQL.Add(SqlStr);
      If OpenFlag Then
        Open
      Else
        ExecSQL;
    End;
  Except
    On E:EOleException Do
    Begin
      Result:=False;
      MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
End;
//隐性执行Sql语句
Function ExecSqlStr(DBConnectionString,SqlStr:String):Boolean;
Var
  ADOQuery:TADOQuery;
Begin
  Try
    Result:=True;
    ADOQuery:=TADOQuery.Create(Nil);
    With ADOQuery Do
    Begin
      ConnectionString:=DBConnectionString;
      Close;
      SQL.Clear;
      SQL.Add(SqlStr);
      ExecSQL;
    End;
  Except
    On E:EOleException Do
    Begin
      Result:=False;
      MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
  ADOQuery.Free;
End;
//隐性执行Sql语句
Function ExecSqlStr(ADOConnection:TADOConnection;SqlStr:String):Boolean;
Var
  ADOQuery:TADOQuery;
Begin
  Try
    Result:=True;
    ADOQuery:=TADOQuery.Create(Nil);
    With ADOQuery Do
    Begin
      ADOQuery.Connection:=ADOConnection;
      Close;
      SQL.Clear;
      SQL.Add(SqlStr);
      ExecSQL;
    End;
  Except
    On E:EOleException Do
    Begin
      Result:=False;
      MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
  ADOQuery.Free;
End;
//调整本机时间与数据库服务器一致
Function AdjustLocalDate(ADOConnection:TADOConnection):Boolean;
Var
  ADOQuery:TADOQuery;
  SqlStr:String;
  GetSystemTime:TSystemTime;
Begin
  Try
    Result:=True;
    ADOQuery:=TADOQuery.Create(nil);
    With ADOQuery Do
    Begin
      SqlStr:='Select GetDate() As CurrDateTime';
      If Not ExecSqlStr(ADOQuery,ADOConnection,SqlStr,True) Then
        Result:=False;
      If Not Eof Then
      Begin
        DateTimeToSystemTime(FieldByName('CurrDateTime').AsDateTime,GetSystemTime);
        SetLocalTime(GetSystemTime);
      End;
    End;
  Except
    On E:EOleException Do
    Begin
      Result:=False;
      MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
End;
//调整本机时间与数据库服务器一致
Function AdjustLocalDate(DBConnectionString:String):Boolean;
Var
  ADOQuery:TADOQuery;
  SqlStr:String;
  GetSystemTime:TSystemTime;
Begin
  Try
    Result:=True;
    ADOQuery:=TADOQuery.Create(nil);
    With ADOQuery Do
    Begin
      SqlStr:='Select GetDate() As CurrDateTime';
      If Not ExecSqlStr(ADOQuery,DBConnectionString,SqlStr,True) Then
        Result:=False;
      If Not Eof Then
      Begin
        DateTimeToSystemTime(FieldByName('CurrDateTime').AsDateTime,GetSystemTime);
        SetLocalTime(GetSystemTime);
      End;
    End;
  Except
    On E:EOleException Do
    Begin
      Result:=False;
      MessageDLG('Error:'+E.Message,MtWarning,[MBOK],0);
    End;
  End;
End;

Procedure GetAllDateBaseName(aList:TStrings;aServerName:String);
var 
  i:Integer;
  ads:TADODataSet;
  AdoCnt:TADOConnection;
  DataBaseName,UserName,Password,DBCntStr:String;
begin
  if aList=nil then Exit;
  aList.Clear;
  AdoCnt:=TADOConnection.Create(nil);
  AdoCnt.LoginPrompt:=False;
  //读取数据库连接配置数据
  aServerName := Trim(aServerName);
  DataBaseName:='master';
  UserName:=ServerLoginUserName;
  Password:=ServerLoginUserPwd;
  DBCntStr:=GetDBConnectionString(aServerName,DataBaseName,UserName,Password);
  ConnectDataBase(AdoCnt,DBCntStr);

  ads:=TADODataSet.Create(nil);
  ads.Connection:=AdoCnt;
  with Ads do
  begin
     CommandText:='Select name From sysdatabases';
     Open;
     for i:=0 to RecordCount - 1 do
     begin
       aList.Add(FieldByName('Name').AsString);
       Next;
     end;
  end;       
  FreeAndNil(ads);
  FreeAndNil(AdoCnt);
end;

Procedure GetAllTableName(aServerName,aDataBaseName:String;aList:TStrings);
var
  AdoCnt:TADOConnection;
  UserName,Password,DBCntStr:String;
begin
  if aList=nil then Exit;
  aList.Clear;
  AdoCnt:=TADOConnection.Create(nil);
  AdoCnt.LoginPrompt:=False;
  //读取数据库连接配置数据
  Trim(aServerName);
  aDataBaseName := Trim(aDataBaseName);
  UserName:=ServerLoginUserName;
  Password:=ServerLoginUserPwd;
  DBCntStr:=GetDBConnectionString(aServerName,aDataBaseName,UserName,Password);
  ConnectDataBase(AdoCnt,DBCntStr);
  AdoCnt.GetTableNames(aList,False);
  FreeAndNil(AdoCnt);
end;

End.

⌨️ 快捷键说明

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