我要动态链接数据库.代码如下:
procedure TForm1.FormCreate(Sender: TObject);
var
ConnectString: String;
ConfigFile: TIniFile;
begin
ConfigFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Config.ini'); If Not FileExists(ExtractFilePath(Application.ExeName) + 'Config.ini') Then
Begin
ShowMessage('数据库没有连接,请先连接数据库');
ConnectString := PromptDataSource(Handle, ConnectString);
ConfigFile.WriteString('ConnectString', 'CurConnectString', ConnectString);
End
Else
Begin
ConnectString := ConfigFile.ReadString('ConnectString', 'CurConnectString', '');
End; Self.con1 .ConnectionString := ConnectString;
Try
self.con1.Open;
self.qry1.active:=True;
Except
ShowMessage('数据库连接错误,请检查配置文件 Config.ini !');
DeleteFile(ExtractFilePath(Application.ExeName) + 'Config.ini');
Application.Terminate;
End;
end;
end.请问 Config.ini 文本如何书写????
procedure TForm1.FormCreate(Sender: TObject);
var
ConnectString: String;
ConfigFile: TIniFile;
begin
ConfigFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Config.ini'); If Not FileExists(ExtractFilePath(Application.ExeName) + 'Config.ini') Then
Begin
ShowMessage('数据库没有连接,请先连接数据库');
ConnectString := PromptDataSource(Handle, ConnectString);
ConfigFile.WriteString('ConnectString', 'CurConnectString', ConnectString);
End
Else
Begin
ConnectString := ConfigFile.ReadString('ConnectString', 'CurConnectString', '');
End; Self.con1 .ConnectionString := ConnectString;
Try
self.con1.Open;
self.qry1.active:=True;
Except
ShowMessage('数据库连接错误,请检查配置文件 Config.ini !');
DeleteFile(ExtractFilePath(Application.ExeName) + 'Config.ini');
Application.Terminate;
End;
end;
end.请问 Config.ini 文本如何书写????
解决方案 »
- cxgrid 回车换行如何实现
- delphi中dbgrid滚动条BUG怎么解决?
- 急加在线:编辑DBGRID的内容,如何使其只有单击保存按钮才能实现保存呢
- listview中可不可以实现被鼠标点击过的行,字体变为粗黑.
- 如何在编辑筐中的keypress事件中编程,使得编辑筐只能输入数字,(包括小数点)
- 简单问题,在线等待
- dbgrid变色的问题。点击哪行就让哪行的背景颜色、字体颜色变为指定颜色。
- 我的问题很急,只要up都给分。。。。。。。。。。。
- 怎样把一个word文档插入到数据库中??(在线等待)
- delphi开发的屏保,如何设置中文名称
- astReport设计报表的时候,出现这样子一个问题?
- 请教delphi控制AutoCAD问题
serverName=(local)
[DataBase]
databaseName=MyDataBase
[userid]
user=sa
[userpass]
userpass=1234
如何设置呢?
解决方法:重装Mdac
然后把1.txt的后缀.txt 改成 .udl 后成1.udl然后双击打开UDL文件可以进行配置
配置好后在ADOConnection的ConnectionString为
FileName='UDL文件名'就可以了'在有就是你的那个Ini文件的Writing('父结点名','子结点名','值')
如你的那个ConfigFile.WriteString('ConnectString', 'CurConnectString', ConnectString)的配置就应该为[ConnectString]
CurConnectString=这里写你的那个ConnectString值不过这样不合理我一般是这样搞的如下:[数据库设置]
LogFormat=MsSql
SerVer=(local)
DataBase=
User=sa
PassWord=
UDLFile=
然后再是用什么方法来实现这些配置(INI也好,DAT也好,UDL也罢)。看样子该结贴了,楼主应该想明白了怎么去设计。至于第二步(怎么去实现),这里面没有什么技术含量,从楼主自己的代码也看得出来,你已经会操作INI文件了。
var
ID:string;
MessageContent,Number,SendTime:string;
ConnStr :string;
ServerAddress,DBName,UserName,Password:string;
IniFile:TiniFile;
begin
IniFile := TiniFile.Create('Config.Ini');
ServerAddress := IniFile.ReadString('DbCOnfig','ServerAddress','');
DBName := IniFile.ReadString('DbCOnfig','DbName','');
UserName := IniFile.ReadString('DbCOnfig','UserName','');
Password := IniFile.ReadString('DbCOnfig','Password','');
IniFile.Destroy;
ConnStr := 'Provider=SQLOLEDB.1;Password="'+Password+'";Persist Security Info=True;User ID='+UserName+';Initial Catalog='+DBName+';Data Source='+ServerAddress;
ADOConnection1.connected:=false;
ADOConnection1.ConnectionString:=connstr;
ADOConnection1.connected:=true;
ADOConnection1.Open;
ADODataSet1.Connection:= ADOConnection1;
//DataSet
with ADODataSet1 do
begin
ADODataSet1.Active;
ADODataSet1.Close;
ADODataSet1.Connection:= ADOConnection1;
ADODataSet1.CommandText:='select TOP 1 ID,GetNO,GetInfo from SendInfo';
ADODataSet1.Open;
first;
给你参考,相信可以解决你的问题