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

📄 connectsql.~pas

📁 天涯進銷存系統
💻 ~PAS
字号:
unit Connectsql;

interface

uses
  Windows, Messages, SysUtils, Classes,IniFiles, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls,Registry,ShellApi, DB, ADODB,jpeg,uPublicvar;

type
  TConnectsqlForm = class(TForm)
    Edit_username: TEdit;
    Edit_password1: TEdit;
    Edit_password2: TEdit;
    BitBtn_Ok: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Panel1: TPanel;
    Memo1: TMemo;
    ADOQuery1: TADOQuery;
    ADOConnection1: TADOConnection;
    Edit2: TEdit;
    Label5: TLabel;
    Panel2: TPanel;
    Image2: TImage;
    Label7: TLabel;
    Image3: TImage;
    Label6: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn_OkClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Edit_usernameKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit_password1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit_password2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure Edit2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Edit_usernameMouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    procedure Edit_password1MouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
  private
    vuserconnet:Tinifile;
//    vconnuser:string;
//    vconnpass:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ConnectsqlForm: TConnectsqlForm;
  vWinPath:array[0..255] of char;

implementation
function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer; 
lpszDriverString: String; lpszAttributes: String): Integer; 
stdcall;external 'ODBCCP32.DLL';
{$R *.DFM}

procedure TConnectsqlForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  //BitBtn_OkClick(Sender);
end;

procedure TConnectsqlForm.BitBtn_OkClick(Sender: TObject);
var
ado,deserver:string;
fini:tinifile;
begin
if edit1.Text='' then
begin
 showmessage('没有服务器名称,请重新录入!');
 Edit1.SetFocus;
 exit;
end;
if Edit_password1.text<>Edit_password2.text then
  begin
    showmessage('你录入的密码不一致,请重新录入!');
    Edit_username.SetFocus;
    exit;
  end;
  adoconnection1.Connected:=false;
  ado:='Provider=SQLOLEDB.1;Password='''+Edit_password1.text+''' ;Persist Security Info=True;User ID= '''+Edit_username.Text+''' ;Data Source= '''+Edit1.Text+''';Initial Catalog=master';
  AdoConnection1.ConnectionString:=ado;
  try
    adoconnection1.Connected:=true;
  except
    showmessage('登录帐号或密码错误');
    abort;
  end;
try
   FINI := TINIFile.Create(strpath+'\server.INI');
   FINI.WriteString('server', 'substring', trim(edit1.text));
   FINI.WriteString('dbname', 'substring', trim(edit2.text));
   FINI.WriteString('user', 'substring', trim(Edit_username.text));
   FINI.WriteString('password', 'substring', trim(Edit_password1.text));
finally
   FINI.Destroy;
end;
showmessage('设置服务器成功,请退出系统重新登陆');
close;
end;

procedure TConnectsqlForm.FormShow(Sender: TObject);
begin
  left:=(Screen.Width div 2)- (ConnectsqlForm.Width div 2);
  top:=(Screen.Height)-ConnectsqlForm.Height-20;
end;

procedure TConnectsqlForm.Edit_usernameKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=vk_return then  Edit_password1.SetFocus;
end;

procedure TConnectsqlForm.Edit_password1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=vk_return then  Edit_password2.SetFocus;
end;

procedure TConnectsqlForm.Edit_password2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=vk_return then  BitBtn_Ok.SetFocus;
end;

procedure TConnectsqlForm.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_return then  Edit_username.SetFocus;
end;

procedure TConnectsqlForm.FormCreate(Sender: TObject);
Const
NEW3 = '\Software\Borland';
NEW1 = '\Software\Borland\Database Engine';
NEW2 = '\Software\Borland\BLW32';
NEWVA11 = 'DLLPATH';
NEWVA12 = 'Configfile01';
NEWVA13 ='\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905';
Var
Reg : TRegistry;
var maindir:string;
begin
  Reg := TRegistry.Create;
  // 当前目录
  MainDir:=ExtractFilePath(Application.Exename);
  if copy(MainDir,length(MainDir),1)<>'\' then MainDir:=MainDir+'\';
  edit2.Text:='master';

  //
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.CreateKey(NEW3);      // 创建我们的主键
    Reg.OpenKey(NEW3, True);  // 进入我们自己的Borland键中
    Reg.CreateKey(NEW1);      // 创建我们的主键1
    Reg.CreateKey(NEW2);      // 创建我们的主键2
    //
    Reg.OpenKey(NEW1, True);  // 进入我们自己的NEW1键中
    Reg.WriteString(NEWVA11, MainDir+'BDE');
    Reg.WriteString('Configfile01', MainDir+'BDE\Idapi.cfg');
    //
    Reg.OpenKey(NEW2, True);  // 进入我们自己的NEW2键中
    Reg.WriteString('BLAPIPATH', MainDir+'BDE');
    Reg.WriteString('LOCALE_LIB0 ', MainDir+'BDE\Fareast.btl');
    Reg.WriteString('LOCALE_LIB1 ', MainDir+'BDE\usa.btl');
    //注册MSCOMM32.OCX
    Reg.RootKey := HKEY_CLASSES_ROOT;
    Reg.CreateKey(NEWVA13);      // 创建我们的主键
    Reg.OpenKey(NEWVA13, True);
    Reg.WriteString('', 'kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun');
  finally
    Reg.Free; // 用 Try..Finally 结构确保 REG 变量能够释放。
  end;
end;

procedure TConnectsqlForm.Edit2MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
memo1.Lines.Text:='   关于数据库文件'+#10#13+'SQL Server 2000 数据库文件。此项系统会自动进行。';
end;

procedure TConnectsqlForm.Edit1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
memo1.Lines.Text:='   关于服务器地址'+#10#13+'网络中作为SQL Server2000服务器的计算机IP地址或机器名。必须保证与此服务器的连通及服务器中SQL Server服务已打开。';

end;

procedure TConnectsqlForm.Edit_usernameMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
memo1.Lines.Text:='  关于登录名'+#10#13+'登录SQL Server服务器的授权帐号。可通过数据管理员获取。';
end;

procedure TConnectsqlForm.Edit_password1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
memo1.Lines.Text:=' 关于登录口令'+#10#13+'登录SQL Server服务器的授权口令。可通过数据管理员获取。';
end;

end.

⌨️ 快捷键说明

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