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

📄 main.pas

📁 MYSQL 连接控件 MYSQL 连接控件
💻 PAS
字号:
unit main;

interface

uses
  {$IFDEF LINUX}
  QTypes, QGraphics, QControls, QForms,
  QDialogs, QStdCtrls, QGrids, QDBGrids,
  QDBCtrls, QExtCtrls,
  {$ELSE}
  Graphics, Controls, Forms, Windows,
  Dialogs, StdCtrls, Grids, DBGrids,
  DBCtrls, ExtCtrls,
  {$ENDIF}
  SysUtils, Classes, DB, MySQLDataset, MySQLServer;

type
  TfrmMain = class(TForm)
    Panel1: TPanel;
    DBNavigator1: TDBNavigator;
    DBGrid1: TDBGrid;
    DBNavigator2: TDBNavigator;
    DBGrid2: TDBGrid;
    MySQLServer1: TMySQLServer;
    Label1: TLabel;
    Button1: TButton;
    Label2: TLabel;
    OpenDialog1: TOpenDialog;
    Button2: TButton;
    Label3: TLabel;
    Button3: TButton;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    MySQLTable1: TMySQLTable;
    MySQLTable2: TMySQLTable;
    GroupBox1: TGroupBox;
    DataSource3: TDataSource;
    MySQLTable3: TMySQLTable;
    DBText2: TDBText;
    DBText1: TDBText;
    DBImage1: TDBImage;
    Name: TLabel;
    Label4: TLabel;
    DBNavigator3: TDBNavigator;
    Version: TLabel;
    DBName: TLabel;
    DBMemo1: TDBMemo;
    memLogger: TMemo;
    procedure MySQLTable1ExecSQL(Dataset: TMySQLDatasetBase;
      var SQL: String; var Continue: Boolean);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation
{$IFDEF MSWINDOWS}
{$R *.dfm}
{$ELSE}
{$R *.xfm}
{$ENDIF}

procedure TfrmMain.MySQLTable1ExecSQL(Dataset: TMySQLDatasetBase; var SQL: String; var Continue: Boolean);
begin
  memLogger.Lines.Add(SQL);
end;

procedure TfrmMain.Button1Click(Sender: TObject);
begin
  MySQLServer1.Open; 
  Version.Caption := MySQLServer1.ServerVersion;
end;

procedure TfrmMain.Button2Click(Sender: TObject);
var
  DB: string;
begin
  if MessageDlg('The TMySQLServer will now create a new database and select it as the active one for the connection.'#13#10+
             'This might not work if you don''t have the permissions to do this on this mysql server.  Do you wish to proceed?',
             mtConfirmation,[mbYes,mbNo],0)=mrYes then begin
     DB := InputBox('New sample database name','Database','Sample');
     if DB>'' then begin
        try
           MySQLServer1.CreateDatabase(DB);
        except
           raise;
        end;
        MySQLServer1.DatabaseName := DB;
        DBName.Caption := DB;
     end else ShowMessage('Databasenames can''t be empty.');
  end;
end;

procedure TfrmMain.Button3Click(Sender: TObject);
var
  Script: TStringList;
begin
  if MessageDlg('The TMySQLServer will now load a script to populate your database with tables and data.'#13#10+
             'Again this might not work if you don''t have the permissions to do this on this mysql server.  Do you wish to proceed?',
             mtConfirmation,[mbYes,mbNo],0)=mrYes then begin
     ShowMessage('When the open dialog appears, pick the sql file in the directory of this demo.');
     if OpenDialog1.Execute then begin
        Script := TStringList.Create;
        try
           Script.LoadFromFile(OpenDialog1.FileName);
           MySQLServer1.ExecSQLBatch(Script);
           MySQLTable1.Open;
           MySQLTable2.Open;
           MySQLTable3.Open;
        finally
           Script.Free;
        end;
     end;
  end;
end;

end.

⌨️ 快捷键说明

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