📄 udb.pas
字号:
unit udb;
interface
uses
SysUtils,Dialogs, Classes, DB,Forms, DBTables,IniFiles,windows,Messages,
ADODB;
type
Tsmsdb = class(TDataModule)
conn: TADOConnection;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
smsdb: Tsmsdb;
allisdb:string;
procedure runsql(queryname:Tadoquery;sqlstring:string);
procedure exestr(queryname:Tadoquery;sqlstring:string);
implementation
{$R *.dfm}
procedure runsql(queryname:Tadoquery;sqlstring:string);
begin
with queryname do
begin
close;
sql.Clear;
sql.Text:=sqlstring;
execsql;
open;
end;
end;
procedure exestr(queryname:Tadoquery;sqlstring:string);
begin
with queryname do
begin
close;
sql.Clear;
sql.Text:=sqlstring;
execsql;
end;
end;
{procedure Tsmsdb.DataModuleCreate(Sender: TObject);
var
smsini:Tinifile;
filename,servername,username,password:string;
begin
filename:=extractfilepath(paramstr(0))+'smsini.ini';
if fileexists(filename) then
begin
smsini:=Tinifile.Create(filename);
servername:=smsini.ReadString('database','servername','');
username:=smsini.ReadString('database','username','');
password:=smsini.ReadString('database','password','');
smsini.Free;
with database1.Params do
begin
clear();
add('database name=smsdb');
add('server name='+servername);
add('user name='+username);
add('password='+password);
end;
end
else
begin
smsini:=Tinifile.Create(filename);
smsini.writestring('database','servername','');
smsini.writestring('database','username','');
smsini.writestring('database','password','');
application.MessageBox('请在应用程序目录中配置smsini.ini文件!',':数据库配置提示:',mb_ok);
smsini.Free;
halt;//因为没有配置数据库的配置文件所以要求退出系统的运行.
end;
try
database1.Connected:=true;
except
database1.Connected:=false;
application.MessageBox('数据库连接失败,请与管理员联系!',':数据库连接提示:',mb_OK);
halt;//没有连接上数据库所以退出程序的运行.
end;
end; }
procedure Tsmsdb.DataModuleCreate(Sender: TObject);
var
pathstr:string;
smsini:Tinifile;
filename,servername,username,password,dbname,isdb:string;
firststr,secstr,thrstr,foustr,fivstr,sixstr:string;
begin
//首先要从smsini文件中读出isdb的值,再将它给全量allisdb
filename:=extractfilepath(paramstr(0))+'smsini.ini';
if fileexists(filename) then
begin
smsini:=Tinifile.Create(filename);
servername:=smsini.ReadString('database','servername','');
username:=smsini.ReadString('database','username','');
password:=smsini.ReadString('database','password','');
dbname:=smsini.ReadString('database','dbname','');
isdb:=smsini.ReadString('database','isdb','');
allisdb:=isdb;//把它传给全变量
smsini.Free;
end
else
begin
smsini:=Tinifile.Create(filename);
smsini.writestring('database','servername','');
smsini.writestring('database','username','');
smsini.writestring('database','password','');
smsini.writestring('database','dbname','');
smsini.writestring('database','isdb','access');
application.MessageBox('请在应用程序目录中配置smsini.ini文件!',':数据库配置提示:',mb_ok);
smsini.Free;
halt;//因为没有配置数据库的配置文件所以要求退出系统的运行.
end;
//结束读isdb
//开始分析进入的是什么数据库
if isdb='access' then
begin
pathstr:=extractfilepath(paramstr(0));//取得当前程序的路径
conn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+pathstr+'smsdb.mdb;Persist Security Info=False';
conn.LoginPrompt:=false;
try
conn.Connected:=true;
except
conn.Connected:=false;
application.MessageBox('数据库连接失败,请与管理员联系!',':数据库连接提示:',mb_OK);
halt;//没有连接上数据库所以退出程序的运行.
end;
end;
if isdb='sqlserver' then
begin
//开始sqlserver
//开始从smsini文件中读参数
//结束参数
firststr:='provider=sqloledb.1;';
fivstr:='password='+password+';' ;
sixstr:='Persist Security Info=True;';
secstr:='user id='+username+';';//username是用户名
thrstr:='initial catalog='+dbname+';';//dbname是数据库名
foustr:='data source='+servername;//servername是服务器名
conn.ConnectionString:=firststr+fivstr+sixstr+secstr+thrstr+foustr;
conn.LoginPrompt:=false;
try
conn.Connected:=true;
except
conn.Connected:=false;
application.MessageBox('数据库连接失败,请与管理员联系!',':数据库连接提示:',mb_OK);
halt;//没有连接上数据库所以退出程序的运行.
end;
//结束sqlserver
end;
if ((isdb<>'access') and (isdb<>'sqlserver')) then
begin
application.MessageBox('isdb只能等于access或sqlserver!','smsini.ini配置提示',mb_OK);
halt;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -