?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Unit2, Unit3, UntModal, UntDBErr, DB, ADODB,
//
Gs_DataFunction, AdoConED, //用來產(chǎn)生DELPHI-ADO連接選擇連接字符串的界面
UntFitStore, Grids, DBGrids;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Conn_Main: TADOConnection;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
txt_Info: TMemo;
Qry_R: TADOQuery;
txt_SQL: TMemo;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
Conn_SQL: TADOConnection;
cmd_CreateMDB: TBitBtn;
SaveDialog1: TSaveDialog;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Qry_SQL: TADOQuery;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure cmd_CreateMDBClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Const
sConnFmtStr='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=%s;Jet OLEDB:Database Password=%s';
Var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form2:=tform2.Create(Self);
Form2.ShowModal;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
form3:=tform3.Create(application);
form3.Show;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
if not Conn_Main.Connected then Conn_Main.Open;
txt_Info.Clear;
txt_SQL.clear;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
EditConnectionString(Conn_Main);
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
Var i:integer;
begin
With Qry_R do
try
Close;
SQL.Text:=txt_SQL.Text;
//讀取參數(shù)清單
For i:=0 to Qry_R.Parameters.Count-1 do
txt_Info.Lines.Add('參數(shù)'+Inttostr(i)+':'+Parameters[i].Name);
Except
End;
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
Var N:Integer;
begin
Frm_Modal:=TFrm_Modal.Create(Self);
ShowMessage( 'ShowModal結(jié)果:'+ Inttostr( Frm_Modal.ShowModal ) );;
end;
procedure TForm1.BitBtn6Click(Sender: TObject);
begin
Frm_DBErr:=TFrm_DBErr.Create(Self);
Frm_DBErr.ShowModal;
end;
procedure TForm1.BitBtn7Click(Sender: TObject);
begin
Frm_FitStore:=TFrm_FitStore.Create(Self);
//Frm_FitStore.FormStyle:=fsMDIChile;
Frm_FitStore.ShowModal;
end;
procedure TForm1.cmd_CreateMDBClick(Sender: TObject);
var sPass, sFile:String;
begin
if Not SaveDialog1.Execute then Exit;
sFile:=SaveDialog1.FileName; sPass:='gselec';
With Qry_R do
Try
if not CreateAccessDB(SaveDialog1.FileName, sPass) then Exit;
//連接
Close;
ConnectionString:=Format(sConnFmtStr,[sFile,sPass]);
//然后創(chuàng)建一個表
SQL.Text:='Create Table MyTable ([sID] int, [sName] VarChar(50)) ';
ExecSQL;
//創(chuàng)建第二個表:首先檢查是否存在此表,如果存在,先刪除
//注意,一般MDB的系統(tǒng)表MSysObjects不能用戶讀取,所以TRY起來硬讀
Try
//SQL.Text:='Select * From MSysObjects Where Type=1 And Name=''Employee'' ';
//Open;
//If Not IsEmpty then Begin
Close;
SQL.Text:='Drop Table Employee ';
ExecSQL;
//End;
Except
End;
//然后創(chuàng)建此表
{腳本來源:SQL生成后處理,去掉不支持的部分
1:去掉字段類型的方括號
2:去掉語言標記COLLATE Chinese_PRC_CI_AS
3:去掉On [Primary]標記
}
Close;
SQL.Text:='CREATE TABLE [FitStore] ( ';
SQL.Add(' [sStoreID] varchar (50) NULL, '); //COLLATE Chinese_PRC_CI_AS
SQL.Add(' [sFitID] varchar (50) NULL, '); //COLLATE Chinese_PRC_CI_AS
SQL.Add(' [nCount] numeric(20, 4) NULL , ');
SQL.Add(' [nOrder] numeric(20, 4) NULL , ');
SQL.Add(' [nRepair] numeric(20, 4) NULL , ');
SQL.Add(' [nPrice] numeric(18, 4) NULL , ');
SQL.Add(' [nUpAlarm] numeric(18, 4) NULL , ');
SQL.Add(' [nDownAlarm] numeric(18, 4) NULL , ');
SQL.Add(' [sSign] varchar (100) NULL , '); //COLLATE Chinese_PRC_CI_AS
SQL.Add(' [nID] int IDENTITY (1, 1) NOT NULL'); //此處創(chuàng)建“自動編號種子”
SQL.Add(' ) '); //ON [PRIMARY]
ExecSQL;
//創(chuàng)建第三個表:根據(jù)SQL數(shù)據(jù)庫的內(nèi)容產(chǎn)生數(shù)據(jù)集
Qry_SQL.Close;
Qry_SQL.SQL.Text:='Select * From Clients Where 1=0';
Qry_SQL.Open;
//Try DoSQL(Qry_R,'Drop Table Clients'); Except End;
CreateAccessTable(Qry_SQL,Qry_R,'Clients',[]);
//
ShowMessage('創(chuàng)建ACCESS完畢。');
Except
On E:Exception do ShowMessage('創(chuàng)建出錯!'+#13+E.message);
End;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -