📄 datamodule.~pas
字号:
unit datamodule;
interface
uses
SysUtils, Classes, DB, DBTables, ADODB;
type
Tdm = class(TDataModule)
d_maintenance: TDataSource;
d_materialmanager: TDataSource;
d_clientinfo: TDataSource;
d_providerinfo: TDataSource;
d_mplan: TDataSource;
d_needstro: TDataSource;
d_bomm: TDataSource;
d_bomd: TDataSource;
d_order: TDataSource;
d_list: TDataSource;
d_procureplan: TDataSource;
d_mio: TDataSource;
d_storaged: TDataSource;
d_at_count: TDataSource;
ADOConnection1: TADOConnection;
q_maintenance: TADOQuery;
q_materialmanager: TADOQuery;
q_clientinfo: TADOQuery;
q_providerinfo: TADOQuery;
q_needstro: TADOQuery;
q_bomm: TADOQuery;
q_order: TADOQuery;
q_ProcurePlan: TADOQuery;
q_mio: TADOQuery;
q_storaged: TADOQuery;
at_count: TADOTable;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
//q_bomdBOM_Name: TStringField;
q_list: TADOTable;
d_bom_name: TDataSource;
q_mplan: TADOQuery;
q_bom_name: TADOQuery;
q_bomd: TADOTable;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
dm: Tdm;
implementation
uses windows,forms,inifiles,amend, bom, reportmm, Maintenance, login, Config;
{$R *.dfm}
procedure Tdm.DataModuleCreate(Sender: TObject);
var {*****数据模块窗体创建事件*****}
ini,iniW:TIniFile;
State:boolean;
CString:AnsiString;
str,str1:AnsiString;
begin
//打开INI文件,如果不存在则创建与应用程序同名,后缀名为.INI的ini配置文件
ini := TIniFile.Create(ChangeFileExt(Application.ExeName,'.INI'));
State := ini.ReadBool('Database','Connection',false); //读取数据库连接是否成功标志,第一次读或者此项不存在时则返回默认值false赋State变量
if not State then //数据库没有连接成功
try //捕捉异常
F_Config := TF_Config.Create(Application); //动态创建数据库服务器配置窗体
F_Config.ShowModal; //显示数据库服务器配置窗口
except //抛出异常
on e:Exception do
Application.ShowException(e); //弹出异常对话框
end;
CString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='; //字符串CString赋值
str := ini.ReadString('Database','Initial Catalog','mrp'); //从配置文件读数据库名
CString := CString+str; //追加从配置文件读入的数据库名字符串
str1 := ini.ReadString('Database','Data Source','zhangbiao'); //从配置文件读数据库服务器名
CString := CString+';Data Source='; //追加字符串到CString
CString := CString+str1; //追加从配置文件读入的数据库服务器名字符串
DM.ADOConnection1.Connected := false;
DM.ADOConnection1.ConnectionString := CString; //数据库连接属性字符串赋新值
try //捕捉异常
DM.ADOConnection1.Connected := true; //启动与数据库服务器的连接
dm.q_maintenance.Active:=true;
dm.q_materialmanager.Active:=true;
dm.q_clientinfo.Active:=true;
dm.q_providerinfo.Active:=true;
dm.q_mplan.Active:=true;
dm.q_needstro.Active:=true;
dm.q_bomm.Active:=true;
dm.q_bomd.Active:=true;
dm.q_order.Active:=true;
dm.q_list.Active:=true;
dm.q_ProcurePlan.Active:=true;
dm.q_mio.Active:=true;
dm.q_storaged.Active:=true;
dm.at_count.Active:=true;
dm.ADOQuery1.Active:=true;
//dm.q_bomc_name.Active:=true;
dm.q_bom_name.Active:=true;
except //抛出异常
Application.MessageBox('与数据库服务器连接未成功,请重新配置','警告对话框',MB_OK);
end;
//打开INI文件,如果不存在则创建与应用程序同名,后缀名为.INI的ini配置文件
iniW := TIniFile.Create(ChangeFileExt(Application.ExeName,'.INI'));
State := DM.ADOConnection1.Connected; //取得数据库连接是否成功标志值
iniW.WriteBool('Database','Connection',State); //将数据库连接是否成功标志值写入配置文件
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -