📄 databaseunt.pas
字号:
unit databaseunt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, Buttons,IniFiles, ExtCtrls;
type
Tdatabasefrm = class(TForm)
BitBtn1: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ADOConnection1: TADOConnection;
BitBtn2: TBitBtn;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure BitBtn1Click(Sender: TObject);
function source_check:boolean;
function initial_conn(objectname,user_id,user_p,dataname,data_source:string):boolean;
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
databasefrm: Tdatabasefrm;
implementation
{$R *.dfm}
var
t:tinifile;
adoquery1:tadoquery;
//判断数据源是否连接成功
function Tdatabasefrm.source_check:boolean;
begin
result:=true;
try
adoconnection1.Connected := false;
with adoconnection1 do
begin
Provider := 'SQLOLEDB.1'; //数据库:SQL Server
Properties['Data Source'].Value :=trim(edit1.text); //服务器地址
Properties['User ID'].Value :=trim(edit2.text); //数据库用户名
Properties['Password'].Value :=trim(edit3.text); //密码
Properties['Initial Catalog'].Value :='master';//数据库名
end;
adoconnection1.LoginPrompt := False;
adoconnection1.Provider := 'SQLOLEDB.1' ;
adoconnection1.Connected:=true;
except
on e:exception do
begin
application.MessageBox(pchar('无法连接数据库!'+#13+#13+e.Message),'错误信息',16);
application.Terminate;
exit;
end;
end;
end;
//初始化数据库的连接
function Tdatabasefrm.initial_conn(objectname,user_id,user_p,dataname,data_source:string):boolean;
var
filename:string;
begin
try
filename :=extractfiledir(application.ExeName)+'\'+'data.ini';
t:=tinifile.Create(Filename);
t.WriteString(objectname,'user_id',user_id);
t.WriteString(objectname,'user_p',user_p);
t.WriteString(objectname,'dataname',dataname);
t.WriteString(objectname,'data_source',data_source);
result:=true;
finally
t.Free;
end;
end;
procedure Tdatabasefrm.BitBtn1Click(Sender: TObject);
var
dirname:string;
begin
dirname:=ExtractFilePath(Application.ExeName);
if radiobutton1.Checked=true then
begin
try
if source_check=true then
begin
adoconnection1.Connected:=true;
adoquery1:=tadoquery.Create(APPLICATION.Owner);
adoquery1.Connection:=adoconnection1;
{ adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select db_id('+#39+'pos'+#39+')');
adoquery1.open;
if adoquery1.isempty then
begin }
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('sp_attach_db '+#39+'myrpos'+#39+' ,'+#39+dirname+'pos_Data.MDF'+#39+' , '+#39+dirname+'pos_Log.LDF'+#39);
adoquery1.execsql;
// end;
end;
except
adoconnection1.Connected:=false;
adoquery1.Active:=false;
end;
if initial_conn('数据库设置',trim(edit2.text),edit3.text,'myrpos',trim(edit1.text))=true then
showmessage('数据库配置成功!');
end;
if radiobutton2.Checked=true then
begin
if initial_conn('数据库设置',trim(edit2.text),edit3.text,'myrpos',trim(edit1.text))=true then
showmessage('数据库配置成功!');
end;
end;
procedure Tdatabasefrm.BitBtn2Click(Sender: TObject);
begin
application.Terminate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -