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

📄 conf.pas

📁 书籍类别(种类编号
💻 PAS
字号:
unit conf;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, StrUtils, ExtCtrls, DB,
  ADODB, Registry;

type
  TConfigForm = class(TForm)
    IsExistDB: TADOQuery;
    InitConn: TADOConnection;
    SpeedButton1: TSpeedButton;
    BitBtn2: TBitBtn;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label4: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit4: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Image1: TImage;
    Label5: TLabel;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ConfigForm: TConfigForm;

implementation
uses inc,main;
{$R *.dfm}

procedure TConfigForm.FormShow(Sender: TObject);
var
  vReg:TRegistry;//定义注册表变量
  TmpStr:string;
  i:integer;
  vConn1,
  vConn2,
  vConn3,
  vConn4:string;
  vP1,
  vP2,
  vP3,
  vP4:integer;
begin
  if ConnStr='' then Exit;
  vReg:=TRegistry.Create;
  vReg.RootKey :=HKEY_LOCAL_MACHINE;//获取注册表项
  vReg.OpenKey('SoftWare\Microsoft\Microsoft Access',False);
  if vReg.ValueExists('scllong') then
    ConnStr:=vReg.ReadString('scllong')
  else
    ConnStr:='';
  TmpStr:=ConnStr;
  vP1:=Pos('User ID=',TmpStr);
  vP2:=Pos('Password=',TmpStr);
  vP3:=Pos('Initial Catalog=',TmpStr);
  vP4:=Pos('Data Source=',TmpStr);
  for i:=vP1+5 to vP2-6 do
    vConn1:=vConn1+MidStr(TmpStr,i,1);
  for i:=vP2+6 to vP3-6 do
    vConn2:=vConn2+MidStr(TmpStr,i,1);
  for i:=vP3+13 to vP4-6 do
    vConn3:=vConn3+MidStr(TmpStr,i,1);
  for i:=vP4+9 to length(TmpStr)-1 do
    vConn4:=vConn4+MidStr(TmpStr,i,1);    //服务器名
  Edit1.Text :=vConn4;
  Edit4.Text :=vConn3;
  Edit2.Text :=vConn1;
  Edit3.Text :=vConn2;
  vReg.CloseKey;//关闭注册表对象
  vReg.Free;
end;

procedure TConfigForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;//释放窗体
end;

procedure TConfigForm.SpeedButton1Click(Sender: TObject);
 //定义各个数据表的表属性
  //TableStr:AnsiString=;
  var
  DBStr,
  vConn0,
  vConn1,
  vConn2,
  vConn3,
  vConn4,
  vConn5,
  vtmpStr:string;
  i:integer;
  vReg:TRegistry;
  vDBSource:string;
begin
  if Edit1.Text ='' then begin
    MessageDlg('请输入SQL SERVER服务器地址', mtInformation,[mbOk], 0);
    Exit;
  end;
  if Edit4.Text ='' then begin
    MessageDlg('请输入连接SQL SERVER数据库服务器的数据库名称', mtInformation,[mbOk], 0);
    Exit;
  end;
  if Edit2.Text ='' then begin
    MessageDlg('请输入连接SQL SERVER数据库服务器的用户名', mtInformation,[mbOk], 0);
    Exit;
  end;
  //DBStr:='CREATE DATABASE ['+Edit4.Text+']';
  vDBSource:='USE '+Edit4.Text+' ';
  vReg:=TRegistry.Create;
  vReg.RootKey :=HKEY_LOCAL_MACHINE;
  vReg.OpenKey('SoftWare\Microsoft\Microsoft Access',True);
  vConn0:='合同管理@2006---www.wwwwww.www ';
  vConn1:='Provider=SQLOLEDB.1;Persist Security Info=False;';
  vConn2:='User ID='+Edit2.Text+';';
  vConn3:='Password='+Edit3.Text+';';
  vConn4:='Initial Catalog='+Edit4.Text+';';
  vConn5:='Data Source='+Edit1.Text;
  ConnStr:=vConn0+#13+vConn1+#13+vConn2+#13+vConn3+#13+vConn4+#13+vConn5+#13+#13;

   try
    with InitConn do begin
      Close;
      ConnectionString :=ConnStr;
      //LoginPrompt :=false;
      label5.Caption :='正在尝试连接数据库服务器,请稍候...';
      ConfigForm.Update;
      Connected:=True;
      IsExistDB.Close;
      IsExistDB.SQL.Clear;
      IsExistDB.SQL.Add('USE master ');
      IsExistDB.SQL.Add('select * from sysdatabases where name='''+Edit4.Text+'''');
      IsExistDB.Open;
     end;
  except
    MessageDlg('对不起,在尝试连接数据库服务器或'+#13+'创建数据库或数据表过程中出现错误,'+#13+'请与本软件开发人员联系。', mtInformation,[mbOk], 0);
    ConnStr:='';
    Exit;
  end;




  i:=pos('master',ConnStr);
  vtmpStr:=LeftStr(ConnStr,i-1);
  vtmpStr:=vtmpStr+Edit4.Text;
  vtmpStr:=vtmpStr+RightStr(ConnStr,Length(ConnStr)-i-5);
  ConnStr:=vtmpStr;
  vReg.WriteString('scllong',ConnStr);
  vReg.CloseKey;
  vReg.Free;
  Close;
end;

end.

⌨️ 快捷键说明

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