program Project1; 我的工程源码是这样写的!program fwgl;
uses
Forms,
fwgl_main in 'fwgl_main.pas' {fw_main},
plashform in 'plashform.pas' {SplashForm},
login in 'login.pas' {log_from},
DataModule in 'DataModule.pas' {DB_module: TDataModule};{$R *.res}begin
Application.Initialize;
Application.Title := 'OA系统';
Application.CreateForm(TDB_module, DB_module);
Application.CreateForm(Tfw_main, fw_main);
Application.ShowMainForm:=false;
log_from:=Tlog_from.create(application);
log_from.showmodal; Application.Run;
end.数据模版源码为:
unit DataModule;interfaceuses
SysUtils, Classes, DB, ADODB,IniFiles,Forms;type
TDB_module = class(TDataModule)
ADOCon: TADOConnection;
ADOQuery: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DB_module: TDB_module;implementation{$R *.dfm}procedure TDB_module.DataModuleCreate(sender: Tobject);
var iniFw:tinifile;
servernameFw,usernameFw,passwordFw,connFw:string;
begin
try
iniFw := TINIFile.Create(ExtractFilePath(application.ExeName) + '\iniFw.ini');
ADOCon.close;
servernameFw := iniFw.ReadString('server','name','');
usernameFw := iniFw.ReadString('server','user','');
passwordFw := iniFw.ReadString('server','pass','');
connFw:='Provider=SQLOLEDB.1;Password='+passwordFw+';Persist Security Info=True;User ID='+usernameFw+';Initial Catalog=fwgl;Data Source=' + servernameFw;
ADOCon.ConnectionString:=connFw;
ADOCon.Open;
except
begin
Application.MessageBox('可能是数据库设置错误或数据库没有打开,连接失败!','余',0);
end;
iniFw.Free;
end;
end;end.inifw.ini文件源码是:[server]
name=xuqiyun
user=sa
pass=o198651kl问题是为什么一始启动不进行数据连接呢?应当先连接到数据库.如果连接不到数据库就应弹出错误消息.可是我的没有.
搞了好几天了.不知道结果!请高手指点!
uses
Forms,
fwgl_main in 'fwgl_main.pas' {fw_main},
plashform in 'plashform.pas' {SplashForm},
login in 'login.pas' {log_from},
DataModule in 'DataModule.pas' {DB_module: TDataModule};{$R *.res}begin
Application.Initialize;
Application.Title := 'OA系统';
Application.CreateForm(TDB_module, DB_module);
Application.CreateForm(Tfw_main, fw_main);
Application.ShowMainForm:=false;
log_from:=Tlog_from.create(application);
log_from.showmodal; Application.Run;
end.数据模版源码为:
unit DataModule;interfaceuses
SysUtils, Classes, DB, ADODB,IniFiles,Forms;type
TDB_module = class(TDataModule)
ADOCon: TADOConnection;
ADOQuery: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DB_module: TDB_module;implementation{$R *.dfm}procedure TDB_module.DataModuleCreate(sender: Tobject);
var iniFw:tinifile;
servernameFw,usernameFw,passwordFw,connFw:string;
begin
try
iniFw := TINIFile.Create(ExtractFilePath(application.ExeName) + '\iniFw.ini');
ADOCon.close;
servernameFw := iniFw.ReadString('server','name','');
usernameFw := iniFw.ReadString('server','user','');
passwordFw := iniFw.ReadString('server','pass','');
connFw:='Provider=SQLOLEDB.1;Password='+passwordFw+';Persist Security Info=True;User ID='+usernameFw+';Initial Catalog=fwgl;Data Source=' + servernameFw;
ADOCon.ConnectionString:=connFw;
ADOCon.Open;
except
begin
Application.MessageBox('可能是数据库设置错误或数据库没有打开,连接失败!','余',0);
end;
iniFw.Free;
end;
end;end.inifw.ini文件源码是:[server]
name=xuqiyun
user=sa
pass=o198651kl问题是为什么一始启动不进行数据连接呢?应当先连接到数据库.如果连接不到数据库就应弹出错误消息.可是我的没有.
搞了好几天了.不知道结果!请高手指点!
你先看看系统自动生成的ConnectionString,不要偷懒只要将
User ID
Data Source
Password
替换,其他都保留
另外Data Source指的是ip地址或者是计算机名称ADOCon在设计阶段可以先connected属性false将 ADOCon.Open; 改为 ADOCon.connected:=true;