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

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

?? sql_unit.pas

?? 數據庫比較不錯
?? PAS
字號:
unit SQL_unit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, Db, DBTables, StdCtrls,  OleServer, ComObj, ActiveX,
  Excel2000, ADODB, ComCtrls, ExtCtrls;


type
  TSQL_F = class(TForm)
    Bevel1: TBevel;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    StaticText1: TStaticText;
    DBGrid1: TDBGrid;
    StatusBar1: TStatusBar;
    ADOConnection1: TADOConnection;
    Query: TADOQuery;
    DataSource1: TDataSource;
    SaveDialog1: TSaveDialog;
    ExcelApplication1: TExcelApplication;
    ExcelWorkbook1: TExcelWorkbook;
    ExcelWorksheet1: TExcelWorksheet;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    ExcelFormatNum: TStrings; //ExcelFormatNum
    ExcelFormatStr: TStrings; //ExcelFormatStr
    function ExportDBGrid(DBGrid: TDBGrid; SheetName: string): boolean;//直接保存,不顯示EXCEL
    function ExportDataToExcelV(SheetName: string; DBGrid: TDBGrid; ExcelApplication: TExcelApplication;
        ExcelWorkbook: TExcelWorkbook; ExcelWorksheet: TExcelWorksheet): boolean; //顯示EXCEL
    function ConvertIntToCharacters(IntNumber: Integer): string;
    function GetNumberFormat(s: string): string; //判斷字段的格式
    function FindExcelFormatStr(s: string): Boolean; //找字符格式
    function FindExcelFormatNum(s: string): Boolean; //找數字格式
  end;


var
  SQL_F: TSQL_F;

implementation

{$R *.dfm}
function TSql_f.ExportDataToExcelV(SheetName: string; DBGrid: TDBGrid; ExcelApplication: TExcelApplication;ExcelWorkbook: TExcelWorkbook; ExcelWorksheet: TExcelWorksheet): boolean; //顯示EXCEL

//引用:ActiveX
var
  Row, Col: integer;
  RowFirst, ColEnd: string;
  lcid: integer;
  vNumberFormat: string;
begin
  result := false;
  if DBGrid.DataSource = nil then
    exit;
  if DBGrid.DataSource.DataSet = nil then
    exit;
  if DBGrid.DataSource.DataSet.IsEmpty then
    exit;
  try
    ExcelApplication.Disconnect;
  except
  end;
  try
    try
      lcid := 1; //GetUserDefaultLCID;
      ExcelApplication.ScreenUpdating[lcid] := false;
      ExcelApplication.ConnectKind := ckNewInstance;
      ExcelApplication.Connect;
    except
      Application.MessageBox('系統檢測到此機器沒有安裝EXCEL!如果需要導出功能,請先安裝EXCEL!','警告',MB_OK);
      exit;
    end;
    screen.Cursor := crHourGlass;
    ExcelWorkbook.ConnectTo(ExcelApplication.Workbooks.Add(TOleEnum(xlWBATWorksheet), lcid));
    ExcelWorksheet.ConnectTo(ExcelWorkbook.Worksheets[1] as _Worksheet);
    if (SheetName <> '') then
      ExcelWorksheet.Name := SheetName;
    ExcelWorksheet.Cells.Font.Size := 10;

    DBGrid.DataSource.DataSet.DisableControls;
    //導入報頭
    for Col := 1 to DBGrid.Columns.Count do
      ExcelWorksheet.Cells.Item[1, Col].value := DBGrid.Columns[Col - 1].Title.caption;

    //導入庫數據
    DBGrid.DataSource.DataSet.First;
    for Col := 1 to DBGrid.Columns.Count do
    begin
      RowFirst := ConvertIntToCharacters(Col) + '1';
      ColEnd := ConvertIntToCharacters(Col) + inttostr(DBGrid.DataSource.DataSet.RecordCount + 1);
      if DBGrid.Fields[Col - 1].DataSize < 200 then
        ExcelWorksheet.Range[RowFirst, ColEnd].ColumnWidth := DBGrid.Fields[Col - 1].DataSize
      else
        ExcelWorksheet.Range[RowFirst + '1', ColEnd].ColumnWidth := 21;

      vNumberFormat := GetNumberFormat(DBGrid.Columns[Col - 1].Title.Caption);
       if vNumberFormat <> '' then
        ExcelWorksheet.Range[RowFirst, ColEnd].NumberFormat := vNumberFormat;


      for Row := 1 to DBGrid.DataSource.DataSet.RecordCount do
      begin
        ExcelWorksheet.Cells.Item[Row + 1, Col].value := trim(DBGrid.Fields[Col - 1].AsString);
        DBGrid.DataSource.DataSet.Next;
      end;
      DBGrid.DataSource.DataSet.First;
    end;
    ExcelApplication.Visible[lcid] := True;
    ExcelApplication.ScreenUpdating[lcid] := true;
    DBGrid.DataSource.DataSet.EnableControls;
    result := true;
  finally
    screen.Cursor := crDefault;
  end;
end;

function Tsql_f.ConvertIntToCharacters(IntNumber: Integer): string;
begin
  if IntNumber < 1 then
    Result := 'A'
  else
  begin
    if IntNumber > 702 then
      Result := 'ZZ'
    else
    begin
      if IntNumber > 26 then
      begin
        if (IntNumber mod 26) = 0 then
          Result := Chr(64 + (IntNumber div 26) - 1)
        else
          Result := Chr(64 + (IntNumber div 26));
        if (IntNumber mod 26) = 0 then
          result := result + chr(64 + 26)
        else
          result := Result + Chr(64 + (IntNumber mod 26));
      end
      else
        Result := Chr(64 + IntNumber);
    end;
  end;
end;

function Tsql_f.GetNumberFormat(s: string): string; //判斷字段的格式
begin

  result := '@';
end;

function TSql_f.FindExcelFormatStr(s: string): Boolean; //找字符格式
var
  i: integer;
begin
  Result := True;
  for i := 0 to ExcelFormatStr.Count - 1 do
  begin
    if Pos(ExcelFormatStr[i], s) > 0 then
    begin
      Result := True;
      Exit;
    end;
  end;
end;

function Tsql_f.FindExcelFormatNum(s: string): Boolean; //找數字格式

begin
   result:=false;
end;

function Tsql_f.ExportDBGrid(DBGrid: TDBGrid; SheetName: string): boolean;//直接保存,不顯示EXCEL
//引用:ComObj
var
  c, r, i, j: integer;
  app: Olevariant;
  TempFileName, ResultFileName: string;
begin
  try
    result := True;
      app := CreateOLEObject('Excel.application');
      app.WorkBooks.Add(xlWBatWorkSheet);
    except
      Application.MessageBox('Excel沒有正確安裝!','警告',MB_OK);
      result := False;
      exit;
    end;
    SaveDialog1.DefaultExt := 'xls';
    SaveDialog1.FileName := SheetName;
    if SaveDialog1.Execute then
      TempFileName := SaveDialog1.FileName
    else
      Exit;

    app.Workbooks.add;
    app.Visible := false;
    Screen.Cursor := crHourGlass;
    DBGrid.DataSource.DataSet.First;
    c := DBGrid.DataSource.DataSet.FieldCount;
    r := DBGrid.DataSource.DataSet.RecordCount;
    Application.ProcessMessages;
    for i := 0 to c - 1 do
      app.cells(1, 1 + i) := DBGrid.DataSource.DataSet.Fields[i].DisplayLabel;
    for j := 1 to r do
    begin
      for i := 0 to c - 1 do
        app.cells(j + 1, 1 + i) := DBGrid.DataSource.DataSet.Fields[i].AsString;

      DBGrid.DataSource.DataSet.Next;
    end;

    ResultFileName := TempFileName;
    if ResultFileName = '' then
      ResultFileName := '自動報表';
    if FileExists(TempFileName) then
      DeleteFile(TempFileName);
    app.Activeworkbook.saveas(TempFileName);
    app.Activeworkbook.close(false);
    app.quit;

end;

procedure Tsql_f.Button2Click(Sender: TObject);
begin
  try
    Screen.Cursor := crHourGlass;
    //ExportDBGrid(DBGrid1, '查詢結果'); //直接保存,不顯示EXCEL
    ExportDataToExcelV('查詢結果', DBGrid1, ExcelApplication1, ExcelWorkbook1, ExcelWorksheet1); //顯示EXCEL

  finally
    Screen.Cursor := crDefault;
  end;
end;

procedure Tsql_f.FormCreate(Sender: TObject);
begin
  ExcelFormatNum := TStringList.Create;
  ExcelFormatStr := TStringList.Create;
end;
procedure Tsql_f.FormDestroy(Sender: TObject);
begin
  ExcelFormatNum.Free;
  ExcelFormatStr.Free;
end;


procedure TSQL_F.Button1Click(Sender: TObject);
var
  aSQL:string;
begin
  aSQL:=Trim(memo1.Text);
  with Query do
  begin
    Close;
    SQL.Clear;
    SQL.Add(aSQL);
    Query.Open;
    DBGrid1.DataSource:=DataSource1;
  end;

end;

procedure TSQL_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=cafree;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩日欧美一区二区三区| 欧美成人午夜电影| 成人精品免费看| 狠狠色丁香婷综合久久| 裸体健美xxxx欧美裸体表演| 天天综合天天做天天综合| 一区二区三区四区亚洲| 亚洲欧美国产三级| 亚洲欧美日韩在线播放| 亚洲黄色录像片| 亚洲va国产va欧美va观看| 亚洲图片欧美激情| 自拍偷拍亚洲欧美日韩| **欧美大码日韩| 亚洲精品日韩一| 亚洲日本免费电影| 玉足女爽爽91| 日韩中文字幕不卡| 激情综合色综合久久综合| 激情都市一区二区| 成人午夜看片网址| 色综合色狠狠天天综合色| 欧美亚洲综合一区| 欧美一区二区免费观在线| 精品国产免费人成在线观看| 国产欧美一区二区精品久导航| 国产欧美在线观看一区| 国产精品久久久久aaaa| 亚洲视频综合在线| 午夜精品久久久久久不卡8050| 日韩黄色小视频| 国产精品一区二区三区四区| jiyouzz国产精品久久| 在线看日本不卡| 日韩欧美一级特黄在线播放| 国产日韩欧美高清在线| 亚洲精品视频在线看| 婷婷开心激情综合| 国产精品18久久久久久vr| 色婷婷av一区二区三区之一色屋| 欧美日韩不卡在线| 中文av一区二区| 99综合影院在线| 欧美日韩精品欧美日韩精品| 日韩午夜在线观看| 中文字幕在线观看不卡| 亚洲va欧美va天堂v国产综合| 国产一区二区精品在线观看| 欧洲一区在线电影| 久久久久国产一区二区三区四区| 亚洲丝袜精品丝袜在线| 久久精品免费观看| 91丨九色porny丨蝌蚪| 欧美一区二区三区免费在线看| 国产亚洲精品超碰| 天堂蜜桃91精品| 9i看片成人免费高清| 日韩美女天天操| 亚洲欧美激情小说另类| 国产精品综合一区二区| 欧美在线观看一区二区| 久久精品免视看| 日韩**一区毛片| 97se狠狠狠综合亚洲狠狠| 日韩精品中午字幕| 亚洲综合免费观看高清完整版在线 | 国产一区二区三区综合| 在线精品亚洲一区二区不卡| 久久久精品国产免大香伊 | 成人黄色a**站在线观看| 51精品国自产在线| 亚洲视频你懂的| 国产麻豆视频精品| 欧美一区二区三区成人| 亚洲柠檬福利资源导航| 国产福利91精品一区二区三区| 91精品在线一区二区| 一区二区三区高清在线| 成人a级免费电影| 欧美电视剧免费观看| 香蕉乱码成人久久天堂爱免费| 96av麻豆蜜桃一区二区| 国产欧美日韩在线看| 激情综合色综合久久综合| 在线播放/欧美激情| 亚洲一区二区三区三| 91在线视频在线| 中日韩av电影| 高清国产午夜精品久久久久久| 精品久久久久久久一区二区蜜臀| 日韩精品视频网| 欧美群妇大交群的观看方式| 亚洲免费在线视频一区 二区| eeuss鲁一区二区三区| 国产欧美视频一区二区| 国产在线播精品第三| 日韩精品一区二区三区swag| 青草av.久久免费一区| 欧美老年两性高潮| 爽好久久久欧美精品| 欧美老人xxxx18| 日韩高清在线一区| 欧美一级免费观看| 免费在线观看一区| 欧美一区二视频| 日本aⅴ免费视频一区二区三区 | 国产喷白浆一区二区三区| 国产美女精品一区二区三区| 2欧美一区二区三区在线观看视频| 麻豆精品在线播放| 欧美r级电影在线观看| 激情综合色综合久久| 久久免费国产精品| 成人免费av网站| 中文字幕一区二| 一本在线高清不卡dvd| 夜夜精品视频一区二区| 欧美丝袜自拍制服另类| 午夜电影网亚洲视频| 欧美一区二区久久| 久久激五月天综合精品| 久久久www免费人成精品| 粉嫩久久99精品久久久久久夜 | 午夜欧美一区二区三区在线播放| 欧美日本视频在线| 蜜臂av日日欢夜夜爽一区| 久久五月婷婷丁香社区| 国产精品99久久久久久有的能看| 国产精品视频免费| 色婷婷亚洲一区二区三区| 婷婷综合久久一区二区三区| 日韩一区二区免费在线观看| 激情六月婷婷久久| 1024亚洲合集| 欧美老女人第四色| 国产精品自拍毛片| 自拍偷自拍亚洲精品播放| 欧美另类videos死尸| 国产一区二区三区高清播放| 亚洲欧洲精品一区二区三区| 欧美精品九九99久久| 久久99精品久久只有精品| 国产精品人妖ts系列视频 | 亚洲最新在线观看| 欧美一区二区三区在线| 高清久久久久久| 亚洲香肠在线观看| 久久久久9999亚洲精品| 色婷婷一区二区三区四区| 麻豆国产精品官网| 亚洲特级片在线| 日韩一区二区在线观看| 91在线视频免费观看| 丝袜美腿高跟呻吟高潮一区| 国产精品无遮挡| 欧美高清性hdvideosex| 国产+成+人+亚洲欧洲自线| 亚洲成a人片综合在线| 欧美激情一区二区三区| 91精品啪在线观看国产60岁| 成人爱爱电影网址| 青青草视频一区| 亚洲在线视频网站| 久久久噜噜噜久久人人看| 欧美午夜一区二区三区| 国产福利一区二区| 欧美aaa在线| 亚洲久本草在线中文字幕| 久久久久亚洲蜜桃| 欧美日本一区二区| 91欧美一区二区| 国产乱子伦视频一区二区三区| 午夜亚洲国产au精品一区二区| 国产精品久久毛片a| 欧美精品一区二区三区蜜臀| 欧美性高清videossexo| 成人一道本在线| 极品少妇一区二区三区精品视频| 亚洲成年人影院| 亚洲色图清纯唯美| 国产精品网站在线| 精品国产免费人成在线观看| 欧美久久久久久久久中文字幕| 91色综合久久久久婷婷| 国产精品一线二线三线精华| 美腿丝袜在线亚洲一区| 日韩中文字幕不卡| 亚洲二区在线视频| 亚洲永久免费av| 亚洲精品免费在线播放| 中文字幕一区二区在线播放| 国产亚洲精品福利| 久久久综合激的五月天| 欧美成人女星排名| 日韩一区和二区| 欧美一区二区女人| 正在播放亚洲一区| 欧美人体做爰大胆视频| 欧美在线观看一二区| 欧美在线短视频|