📄 main.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 + -