📄 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, //用来产生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;
//读取参数清单
For i:=0 to Qry_R.Parameters.Count-1 do
txt_Info.Lines.Add('参数'+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结果:'+ 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]);
//然后创建一个表
SQL.Text:='Create Table MyTable ([sID] int, [sName] VarChar(50)) ';
ExecSQL;
//创建第二个表:首先检查是否存在此表,如果存在,先删除
//注意,一般MDB的系统表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;
//然后创建此表
{脚本来源: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'); //此处创建“自动编号种子”
SQL.Add(' ) '); //ON [PRIMARY]
ExecSQL;
//创建第三个表:根据SQL数据库的内容产生数据集
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('创建ACCESS完毕。');
Except
On E:Exception do ShowMessage('创建出错!'+#13+E.message);
End;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -