gspyya06.pas

来自「物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、」· PAS 代码 · 共 203 行

PAS
203
字号
unit GSPYYA06;

interface

uses
  Windows, Messages, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dbcgrids, Grids, DBGrids, ADODB, StdCtrls, Buttons, ExtCtrls,
  StrUtils, ExtDlgs, ComCtrls, math, frxDesgn, frxClass, frxDBSet, Menus,
  SysUtils, DB, inifiles,ShellApi, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdMessage;

type
    Tf_GSPYYA06 = class(TForm)
    Button6: TButton;
    Button2: TButton;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Edit3: TEdit;
    Label3: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Edit5: TEdit;
    Label4: TLabel;
    Button1: TButton;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
     bNew:bool;
     bOK:bool;
  end;
var
  f_GSPYYA06: Tf_GSPYYA06;
  myinifile:TInifile;


implementation

uses data, main;

{$R *.dfm}


procedure Tf_GSPYYA06.FormCreate(Sender: TObject);
var
    s1,s2,s3,s4:string;
    filename:string;
begin
    filename:=ExtractFilePath(paramstr(0))+'dblink.ini';
    myinifile:=Tinifile.create(filename);
    s1 := myinifile.readstring('sn','v','') ;//'bbb';//服务器名
    s2 := myinifile.readstring('us','v','') ;//'sa'; //SQL用户名
    s3 := myinifile.readstring('lp','v','') ;//'bbb'; //密码
    s4 := myinifile.readstring('db','v','') ;//'bbb'; //密码

    edit2.Text:=s1;
    edit3.Text:=s2;
    edit4.Text:=s3;
    edit5.Text:=s4;
end;

//Tab
procedure Tf_GSPYYA06.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=13 then
        Begin
            key:=0;
            perform(WM_NEXTDLGCTL,0,0);
        end
    else if key=VK_ESCAPE then close;
end; 

procedure Tf_GSPYYA06.Button6Click(Sender: TObject);
begin
    bOK:=false;
    close;
end;





procedure Tf_GSPYYA06.Button1Click(Sender: TObject);
var
    s,s1,s2,s3,s4:string;
    filename:string;
    sDB:string;
    query:TADOQuery;
    ComputerName: String;
    CName: pChar;
    CSize: ^DWORD;
    ServerWin: HWND;
    TempADOConnection: TADOConnection;
    TempADOQuery: TADOQuery;
    sFileName:string;
    sqlPath   :   String;
    dataFile   :   String;
    logFile   :   String;
    createDbSql   :   String;
    dbSize:string;
begin
    filename:=ExtractFilePath(paramstr(0))+'dblink.ini';
    myinifile:=Tinifile.create(filename);

    sDB:=myinifile.readstring('ac','v','');   

    try
        Winexec(pChar('sqlmangr.exe'),SW_HIDE);
        ServerWin:= FindWindow(nil,'SQL Server 服务管理器');
        ShowWindow(ServerWin,SW_HIDE);

        TempADOConnection:= TADOConnection.Create(nil);
        TempADOConnection.LoginPrompt:= false;
        TempADOQuery:= TADOQuery.Create(nil);
        TempADOQuery.Connection:= TempADOConnection;

        GetMem(CName,255);
        New(CSize);

        GetComputerName(CName,CSize^);
        ComputerName:= StrPas(CName);
        TempADOConnection.ConnectionString:= 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source='''+Trim(ComputerName)+'''';


        s:='EXEC sp_attach_db @dbname = N'+char(39)+'CYII'+char(39)+','+
        '@filename1 = N'+char(39)+ExtractFilePath(paramstr(0))+'CYII_Data.MDF'+char(39)+
        ','+'@filename2 = N'+char(39)+ExtractFilePath(paramstr(0))+'CYII_Log.LDF'+char(39);

        TempADOQuery.Close;
        TempADOQuery.SQL.Text:= s;
        TempADOQuery.ExecSQL;

        {s:='EXEC sp_attach_db @dbname = N'+char(39)+'GSPYYa'+char(39)+','+
        '@filename1 = N'+char(39)+ExtractFilePath(paramstr(0))+'GSPYYa_Data.MDF'+char(39)+
        ','+'@filename2 = N'+char(39)+ExtractFilePath(paramstr(0))+'GSPYYa_Log.LDF'+char(39);

        TempADOQuery.Close;
        TempADOQuery.SQL.Text:= s;
        TempADOQuery.ExecSQL;}

        Messagebox(handle,'数据库安装成功!','提醒',MB_OK+MB_ICONINFORMATION);

    finally
        FreeMem(CName,255);
        Dispose(CSize);
    end;

end;

procedure Tf_GSPYYA06.Button2Click(Sender: TObject);
var
    filename:string;
    myinifile:TInifile;
begin
    if Edit2.Text='' then
    begin
        showmessage('请输入服务器名称。');
        Edit2.SetFocus;
        exit;
    end;

    if Edit3.Text='' then
    begin
        showmessage('请输入数据库帐号。');
        Edit3.SetFocus;
        exit;
    end;

    if Edit5.Text='' then
    begin
        showmessage('请输入数据库名称。');
        Edit5.SetFocus;
        exit;
    end;

    filename:=ExtractFilePath(paramstr(0))+'dblink.ini';
    myinifile:=Tinifile.create(filename);

    myinifile.writestring('style','v','sql');
    myinifile.writestring('sn','v',Edit2.Text);
    myinifile.writestring('us','v',Edit3.Text);
    myinifile.writestring('lp','v',Edit4.Text);
    myinifile.writestring('db','v',Edit5.Text);

    bOK:=true;
    close;

    
    //dm.SetConn();
end;

end.

⌨️ 快捷键说明

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