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

📄 unit1.pas

📁 自己做的一个例子
💻 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 + -