亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xadoex.pas

?? 很久以前用delphi寫的一個SQLServer外部的企業管理器
?? PAS
字號:
unit XADOEX;

interface
uses ADODB,Classes,DB,Variants,Grids,SysUtils,ActiveX,ComObj,UrlMon,Windows;


Procedure X_GetViewnames(cn:TADOConnection;List: TStrings;showtime:boolean);
Procedure X_Gettablenames(cn:TADOConnection;List: TStrings;showtime:boolean);
Procedure X_GetSystemtablenames(cn:TADOConnection;List: TStrings;showtime:boolean);
Procedure X_GetProcedureNames(cn:TADOConnection;List: TStrings;showtime:boolean);
Procedure X_GetFunctionNames(cn:TADOConnection;List: TStrings;showtime:boolean);
Procedure X_GetForeignKeysNames(cn:TADOConnection;List: TStrings);
Procedure X_GetPrimaryKeyNames(cn:TADOConnection;List: TStrings);
Procedure X_GetDBKeyWords(cn:TADOConnection;List: TStrings);
Procedure X_GetDBFieldsType(cn:TADOConnection;List: TStrings);
Procedure X_GetStruct(cn:TADOConnection;Grid:TStringGrid;tablename:string);
Function  CheckSQL(cn:TADOConnection;SQLStr:String):Boolean;overload;
Function  CheckSQL(cn:TADOConnection;SQLStr:array of String):Boolean;overload;

Procedure GetProcedureValue(cn:TADOConnection;Procname:string;ResultValue:TStrings);
Procedure ShowHTMLForm(H_WND:integer;Filename:String);
function ShowHTMLDialog(hwndParent: Cardinal;UrlMnk: IMoniker;
                        PvarArgIn: PVariantArg;PWCHOptions: PWChar;
                        PvarArgOut: PVariantArg): HRESULT; stdcall;external'MSHTML.DLL';


implementation

Procedure ShowHTMLForm(H_WND:integer;Filename:String);
var
  URLMoniker:IMoniker;
  VarArgs,VarReturn:TVariantArg;
  ArugStr,UrlStr,Return:String;
  POptions:PWChar;
begin
      Return:='';
      ArugStr:='';
      VarArgs.vt:=VT_BSTR;
      VarArgs.bstrVal:=StringToOleStr(ArugStr);
      POptions:='dialogHeight:23;dialogWidth:25;resizable:no;help:no;center:yes';;

      UrlStr:='file://'+Filename;
      OLECheck(CreateURLMoniker(nil,StringToOleStr(UrlStr),URLMoniker));
      VariantInit(OleVariant(VarReturn));
      ShowHTMLDialog(H_WND,URLMoniker,@VarArgs,POptions,@VarReturn);

end;

Procedure GetProcedureValue(cn:TADOConnection;Procname:string;ResultValue:TStrings);
var DataSet:TADODataSet;
    textField: TField;
begin
      if pos('SQLOLEDB',cn.Provider)<>0 then       //sql server數據庫
      begin
        try
         DataSet:=TADODataSet.Create(nil);
         DataSet.Connection:=cn;
         DataSet.CommandText:='sp_helptext "'+Procname+'";';
         DataSet.Open;
         textField:=DataSet.FieldByName('Text');
         ResultValue.clear;
         DataSet.First;
         while not DataSet.eof do
         begin
             ResultValue.Add(textField.AsString);
             DataSet.Next;
         end;
        finally
         DataSet.Free;
        end;
      end;
end;


Function  CheckSQL(cn:TADOConnection;SQLStr:array of String):Boolean;overload;
var i:integer;
begin
  Try
    
    for i:=0 to high(SQLStr) do
    begin
      cn.BeginTrans;
      CN.Execute(SQLStr[i]);
      cn.RollbackTrans;
    end;
    result:=true;

  except
    cn.RollbackTrans;
    result:=false;
  end;
end;

Function  CheckSQL(cn:TADOConnection;SQLStr:String):Boolean;
//var DataSet:TADODataSet;
begin
  Try
    cn.BeginTrans;
    CN.Execute(SQLStr);
    result:=true;
  except
    cn.RollbackTrans;
    result:=false;
  end;
{try
  DataSet:=TADODataSet.Create(nil);
  DataSet.Connection:=cn;
  DataSet.CommandText:=SQLStr;
 try
   DataSet.Open;
 except
   result:=false;
   exit;
 end;
   result:=true;
finally
  DataSet.Free;
end;  }

end;

Procedure X_GetStruct(cn:TADOConnection;Grid:TStringGrid;tablename:String);
var
  TableNameField, ColumnNameField,DataTypeField,IsNulLableField,
  ColumnDefauleField,CharacterOctetLengthField: TField;
  DataSet: TADODataSet;
  tempstr:string;
  GridIndex:integer;
begin
try

  tablename:=uppercase(tablename);
  DataSet := TADODataSet.Create(nil);
  cn.OpenSchema(siColumns, EmptyParam, EmptyParam, DataSet);
  TableNameField := DataSet.FieldByName('TABLE_NAME');
  ColumnNameField := DataSet.FieldByName('COLUMN_NAME');
  DataTypeField := DataSet.FieldByName('DATA_TYPE');
  IsNulLableField := DataSet.FieldByName('IS_NULLABLE');
  ColumnDefauleField := DataSet.FieldByName('COLUMN_DEFAULT');
  CharacterOctetLengthField := DataSet.FieldByName('CHARACTER_MAXIMUM_LENGTH');
  Grid.ColCount:=6;
  Grid.RowCount:=2;
  Grid.cells[0,0]:='序號';
  Grid.cells[1,0]:='字段名';
  Grid.cells[2,0]:='字段類型';
  Grid.cells[3,0]:='字段寬度';
  Grid.cells[4,0]:='是否為空';
  Grid.cells[5,0]:='默認值';

  GridIndex:=1;
  try
   while not DataSet.EOF do
      begin
        tempstr:=uppercase(TableNameField.AsString);
        if tempstr=tablename then
        begin
          Grid.RowCount:=grid.RowCount+1;
          Grid.Cells[0,GridIndex]:=inttostr(GridIndex); //寫入序號
          Grid.Cells[1,GridIndex]:=ColumnNameField.asString;
          Grid.Cells[2,GridIndex]:=DataTypeField.asString;
          Grid.Cells[3,GridIndex]:=CharacterOctetLengthField.asstring;
          Grid.Cells[4,GridIndex]:=IsNulLableField.asString;
          Grid.Cells[5,GridIndex]:=ColumnDefauleField.asString;
          inc(GridIndex);
        end;
       // List.Add(NameField.AsString);
        DataSet.Next;
      end;
     Grid.RowCount:=grid.RowCount-1;
   finally
   end;
finally
  DataSet.Free;
end;
end;

Procedure X_GetDBFieldsType(cn:TADOConnection;List: TStrings);
var
  FieldType,FieldNum: TField;
  DataSet: TADODataSet;
begin
try
 DataSet := TADODataSet.Create(nil);
  cn.OpenSchema(siProviderTypes, EmptyParam, EmptyParam, DataSet);
  FieldType := DataSet.FieldByName('TYPE_NAME');
  FieldNum:=DataSet.FieldByName('DATA_TYPE');
  List.BeginUpdate;
  try
   List.Clear;
   while not DataSet.EOF do
      begin
        List.Add(FieldType.AsString+'...'+FieldNum.asString);
        DataSet.Next;
      end;
   finally
     List.EndUpdate;
   end;
finally
  DataSet.Free;
end;
end;

Procedure X_GetDBKeyWords(cn:TADOConnection;List: TStrings);
var
  NameField: TField;
  DataSet: TADODataSet;
begin
try
 DataSet := TADODataSet.Create(nil);
  cn.OpenSchema(siDBInfoKeywords, EmptyParam, EmptyParam, DataSet);
  NameField := DataSet.FieldByName('Keyword');
  List.BeginUpdate;
  try
   List.Clear;
   while not DataSet.EOF do
      begin
        List.Add(NameField.AsString);
        DataSet.Next;
      end;
   finally
     List.EndUpdate;
   end;
finally
  DataSet.Free;
end;
end;


Procedure X_GetPrimaryKeyNames(cn:TADOConnection;List: TStrings);
var
  tablenamefield, NameField: TField;
  DataSet: TADODataSet;
begin
try
 DataSet := TADODataSet.Create(nil);
  cn.OpenSchema(siPrimaryKeys, EmptyParam, EmptyParam, DataSet);
  NameField := DataSet.FieldByName('COLUMN_NAME');
  tablenamefield:=dATASET.FIELDBYNAME('TABLE_NAME');
  List.BeginUpdate;
  try
   List.Clear;
   while not DataSet.EOF do
      begin
        List.Add(tablenamefield.AsString+'...'+NameField.AsString);
        DataSet.Next;
      end;
   finally
     List.EndUpdate;
   end;
finally
  DataSet.Free;
end;
end;

Procedure X_GetForeignKeysNames(cn:TADOConnection;List: TStrings);
var
  NameField: TField;
  DataSet: TADODataSet;
begin
try
 DataSet := TADODataSet.Create(nil);
  cn.OpenSchema(siForeignKeys, EmptyParam, EmptyParam, DataSet);
  NameField := DataSet.FieldByName('FK_NAME');
  List.BeginUpdate;
  try
   List.Clear;
   while not DataSet.EOF do
      begin
        List.Add(NameField.AsString);
        DataSet.Next;
      end;
   finally
     List.EndUpdate;
   end;
finally
  DataSet.Free;
end;
end;

Procedure X_GetViewnames(cn:TADOConnection;List:TStrings;showtime:boolean);
var
  TypeField, NameField,DateField: TField;
  TableType: string;
  DataSet: TADODataSet;
begin
  DataSet := TADODataSet.Create(nil);
  try
    cn.OpenSchema(siTables, EmptyParam, EmptyParam, DataSet);
     TypeField := DataSet.FieldByName('TABLE_TYPE');
     NameField := DataSet.FieldByName('TABLE_NAME'); { do not localize }
     DateField := DataSet.FieldByName('DATE_CREATED');
    List.BeginUpdate;
    try
      List.Clear;
      if showtime then
      begin
          while not DataSet.EOF do
          begin
            TableType := TypeField.AsString;
            if (TableType='VIEW') then
               List.Add(NameField.AsString+'...'+DateField.AsString);
            DataSet.Next;
          end;
      end
      else begin
           while not DataSet.EOF do
          begin
            TableType := TypeField.AsString;
            if (TableType='VIEW') then
               List.Add(NameField.AsString);
            DataSet.Next;
          end;
      end;

    finally
      List.EndUpdate;
    end;
  finally
    DataSet.Free;
  end;

end;

Procedure X_Gettablenames(cn:TADOConnection;List: TStrings;showtime:boolean);
var
  TypeField,NameField,DateField: TField;
  TableType: string;
  DataSet: TADODataSet;
begin
  DataSet := TADODataSet.Create(nil);
  try
    cn.OpenSchema(siTables, EmptyParam, EmptyParam, DataSet);
    TypeField := DataSet.FieldByName('TABLE_TYPE');
    NameField := DataSet.FieldByName('TABLE_NAME'); { do not localize }
    DateField := DataSet.FieldByName('DATE_CREATED');
    List.BeginUpdate;
    try
      List.Clear;
      if showtime then
      begin
          while not DataSet.EOF do
          begin
            TableType := TypeField.AsString;
            if (TableType='TABLE') then
               List.Add(NameField.AsString+'...'+DateField.AsString);
            DataSet.Next;
          end;
      end
      else begin
           while not DataSet.EOF do
          begin
            TableType := TypeField.AsString;
            if (TableType='TABLE') then
               List.Add(NameField.AsString);
            DataSet.Next;
          end;
      end;
    finally
      List.EndUpdate;
    end;
  finally
    DataSet.Free;
  end;

end;

Procedure X_GetSystemTablenames(cn:TADOConnection;List: TStrings;showtime:boolean);
var
  TypeField,NameField,DateField: TField;
  TableType: string;
  DataSet: TADODataSet;
begin
  DataSet := TADODataSet.Create(nil);
  try
    cn.OpenSchema(siTables, EmptyParam, EmptyParam, DataSet);
    TypeField := DataSet.FieldByName('TABLE_TYPE');
    NameField := DataSet.FieldByName('TABLE_NAME'); { do not localize }
    DateField := DataSet.FieldByName('DATE_CREATED');
    List.BeginUpdate;
    try
      List.Clear;
      if showtime then
      begin
          while not DataSet.EOF do
          begin
            TableType := TypeField.AsString;
            if (TableType='SYSTEM TABLE') then
               List.Add(NameField.AsString+'...'+DateField.AsString);
            DataSet.Next;
          end;
      end
      else begin
          while not DataSet.EOF do
          begin
            TableType := TypeField.AsString;
            if (TableType='SYSTEM TABLE') then
               List.Add(NameField.AsString);
            DataSet.Next;
          end;
      end;
    finally
      List.EndUpdate;
    end;
  finally
    DataSet.Free;
  end;

end;

Procedure X_GetFunctionNames(cn:TADOConnection;List: TStrings;showtime:boolean);
var
  NameField,DateField: TField;
  DataSet: TADODataSet;
  tempstr:String;
begin

  DataSet := TADODataSet.Create(nil);
  try
   cn.OpenSchema(siProcedures, EmptyParam, EmptyParam, DataSet);
   NameField := DataSet.FieldByName('PROCEDURE_NAME'); { do not localize }
   DateField := DataSet.FieldByName('DATE_CREATED');

   if showtime then
   begin
      while not DataSet.EOF do
      begin
         tempstr:=NameField.AsString;
         if copy(tempstr,Pos(';',tempstr)+1,length(tempstr)-pos(';',tempstr))='0' then
           List.Add(NameField.AsString+'...'+DateField.AsString);
        DataSet.Next;
      end;
   end
   else begin
      while not DataSet.EOF do
      begin
        tempstr:=NameField.AsString;
        if copy(tempstr,Pos(';',tempstr)+1,length(tempstr)-pos(';',tempstr))='0' then
           List.Add(NameField.AsString);
        DataSet.Next;
      end;
   end;
  finally
    DataSet.Free;
  end;
end;



Procedure X_GetProcedureNames(cn:TADOConnection;List: TStrings;showtime:boolean);
var
  NameField,DateField: TField;
  DataSet: TADODataSet;
  tempstr:String;
begin

  DataSet := TADODataSet.Create(nil);
  try
   cn.OpenSchema(siProcedures, EmptyParam, EmptyParam, DataSet);
   NameField := DataSet.FieldByName('PROCEDURE_NAME'); { do not localize }
   DateField := DataSet.FieldByName('DATE_CREATED');

   if showtime then
   begin
      while not DataSet.EOF do
      begin
        tempstr:=NameField.AsString;
        if copy(tempstr,Pos(';',tempstr)+1,length(tempstr)-pos(';',tempstr))<>'0' then
        begin
           List.Add(NameField.AsString+'...'+DateField.AsString);
        end;
        DataSet.Next;
      end;
   end
   else begin
      while not DataSet.EOF do
      begin
       tempstr:=NameField.AsString;
       if copy(tempstr,Pos(';',tempstr)+1,length(tempstr)-pos(';',tempstr))<>'0' then
           List.Add(NameField.AsString);
        DataSet.Next;
      end;
   end;
  finally
    DataSet.Free;
  end;
end;


end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品视频网| 日韩av在线免费观看不卡| 经典三级在线一区| 成人av动漫网站| 精品国产乱码久久久久久闺蜜 | 99久久国产综合色|国产精品| 欧美性大战xxxxx久久久| 中文字幕精品一区二区精品绿巨人| 天天色综合天天| 色视频成人在线观看免| 国产日韩精品久久久| 狠狠色狠狠色合久久伊人| 在线看国产一区二区| 亚洲视频一区二区在线| 国产精品综合一区二区| 精品欧美久久久| 秋霞午夜鲁丝一区二区老狼| 欧美在线小视频| 一区二区三区在线观看国产| eeuss鲁一区二区三区| 国产清纯白嫩初高生在线观看91| 久久精品国产一区二区三区免费看| 欧美无砖砖区免费| 一区二区三区在线看| 色94色欧美sute亚洲线路一ni| 国产精品国产三级国产普通话99| 国产精品夜夜嗨| 国产欧美日韩在线观看| 国产一级精品在线| 国产天堂亚洲国产碰碰| 国产盗摄女厕一区二区三区| 久久久亚洲精品一区二区三区| 久久成人精品无人区| 日韩精品一区二区三区蜜臀| 久久精品国产亚洲a| 日韩一区和二区| 精品午夜一区二区三区在线观看 | 九九在线精品视频| 久久综合九色欧美综合狠狠| 国产麻豆精品视频| 中文字幕av一区二区三区高| gogo大胆日本视频一区| 亚洲日本一区二区| 欧美三级资源在线| 男女男精品视频网| 久久久不卡影院| www.日本不卡| 亚洲成人综合网站| 日韩欧美在线不卡| 懂色av中文一区二区三区| 婷婷夜色潮精品综合在线| 日韩女优毛片在线| 成人午夜私人影院| 亚洲一二三区在线观看| 777午夜精品免费视频| 国内成+人亚洲+欧美+综合在线| 久久久精品日韩欧美| 色婷婷亚洲精品| 美女视频黄免费的久久| 国产精品网站导航| 欧美性生活影院| 国产麻豆视频一区二区| 亚洲老妇xxxxxx| 日韩精品中文字幕在线不卡尤物 | 欧美精品乱码久久久久久按摩 | 精品少妇一区二区三区在线播放| 国产在线麻豆精品观看| 亚洲精品第1页| 日韩精品一区二区三区中文精品 | 亚洲欧美另类小说视频| 欧美tk—视频vk| 日本乱人伦一区| 国产一区三区三区| 亚洲国产精品人人做人人爽| 久久蜜臀中文字幕| 337p亚洲精品色噜噜| 成人午夜精品在线| 久久精品99国产精品| 亚洲精品中文在线观看| 久久久精品天堂| 欧美一级欧美三级| 欧美影视一区二区三区| 国产成人自拍在线| 欧美aa在线视频| 亚洲第一狼人社区| 玉米视频成人免费看| 欧美国产激情二区三区| 欧美高清hd18日本| 色综合视频一区二区三区高清| 精品一区二区av| 日本 国产 欧美色综合| 一区二区不卡在线播放| 国产精品国产三级国产a| 久久影视一区二区| 欧美一区二区久久久| 欧美日韩国产经典色站一区二区三区| 成人午夜私人影院| 国产91高潮流白浆在线麻豆 | 丁香婷婷综合色啪| 久久99精品国产麻豆婷婷洗澡| 一区二区三区鲁丝不卡| 中文字幕永久在线不卡| 久久精子c满五个校花| 精品美女在线观看| 欧美成人伊人久久综合网| 日韩一区二区免费高清| 欧美人xxxx| 欧美一区欧美二区| 日韩三级.com| 欧美成人欧美edvon| 欧美成人一区二区三区片免费 | 欧美精品黑人性xxxx| 欧美色中文字幕| 欧美色电影在线| 欧美视频一区二区在线观看| 欧美制服丝袜第一页| 欧美视频你懂的| 在线电影一区二区三区| 欧美一区二区三区四区在线观看| 欧美精品一二三四| 日韩欧美国产高清| 2020国产精品| 国产视频一区不卡| 欧美国产精品一区二区| 亚洲日本一区二区| 亚洲成人av福利| 久久国产人妖系列| 777亚洲妇女| 久久综合丝袜日本网| 国产精品视频观看| 一区二区激情视频| 日本色综合中文字幕| 精彩视频一区二区三区| 成人激情av网| 欧美主播一区二区三区美女| 91精品国产福利在线观看| 久久久国产精华| 亚洲三级久久久| 毛片基地黄久久久久久天堂| 国产精品原创巨作av| 日本高清视频一区二区| 7777精品伊人久久久大香线蕉| 欧美tickling挠脚心丨vk| 国产精品久久久久久亚洲毛片 | 日韩一区二区电影网| 久久久久国产精品麻豆ai换脸| 国产精品黄色在线观看| 日产精品久久久久久久性色| 国产精品亚洲午夜一区二区三区| 色久优优欧美色久优优| 精品国产成人系列| 亚洲色图另类专区| 日韩一区精品视频| 北条麻妃国产九九精品视频| 制服丝袜亚洲播放| 亚洲视频网在线直播| 久久97超碰国产精品超碰| 99re热视频这里只精品| 亚洲精品在线免费播放| 一区二区三区久久久| 国产成人午夜精品影院观看视频 | 五月婷婷色综合| 成人综合婷婷国产精品久久| 欧美精选一区二区| 亚洲色图在线播放| 国产一区二区h| 欧美一级一级性生活免费录像| 亚洲视频一区在线| 国产91在线观看| 日韩精品一区二区三区在线| 亚洲国产精品一区二区www| www.日韩大片| 中文字幕久久午夜不卡| 国产伦精品一区二区三区在线观看 | 成人精品电影在线观看| 日韩午夜激情免费电影| 亚洲综合丝袜美腿| 91在线云播放| 欧美精彩视频一区二区三区| 久久99国产精品麻豆| 欧美日韩国产中文| 一区二区三区不卡视频| av爱爱亚洲一区| 国产精品少妇自拍| 国产a视频精品免费观看| 久久蜜臀精品av| 国产精品一区二区在线看| 欧美成人高清电影在线| 免费亚洲电影在线| 欧美精品 日韩| 亚洲国产精品久久一线不卡| 欧美亚州韩日在线看免费版国语版| 国产精品免费久久久久| 成人h动漫精品| 国产精品国产三级国产普通话99| 高清国产一区二区| 国产精品三级视频| 白白色亚洲国产精品| 国产精品高清亚洲| 91免费小视频|