这是 "绝对路径":
object DataModule1: TDataModule1
OldCreateOrder = False
Left = 657
Top = 186
Height = 150
Width = 215
object ADOConnection: TADOConnection
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\DelphiPro\Colle\' +
'Database\wave.mdb;Persist Security Info=False'
Provider = 'Microsoft.Jet.OLEDB.4.0'
Left = 40
Top = 24
end
object ADOQuery: TADOQuery
Connection = ADOConnection
Parameters = <>
Left = 128
Top = 24
end
end
下面我把路径设为 "相对路径" 怎么就不行了
object DataModule1: TDataModule1
OldCreateOrder = False
Left = 657
Top = 186
Height = 150
Width = 215
object ADOConnection: TADOConnection
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\Database\wave.md' +
'b;Persist Security Info=False'
Provider = 'Microsoft.Jet.OLEDB.4.0'
Left = 40
Top = 24
end
object ADOQuery: TADOQuery
Connection = ADOConnection
Parameters = <>
Left = 128
Top = 24
end
end我把程序设为相对路径就不行了,运行不了. 这相对路径到底怎么设置.
object DataModule1: TDataModule1
OldCreateOrder = False
Left = 657
Top = 186
Height = 150
Width = 215
object ADOConnection: TADOConnection
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\DelphiPro\Colle\' +
'Database\wave.mdb;Persist Security Info=False'
Provider = 'Microsoft.Jet.OLEDB.4.0'
Left = 40
Top = 24
end
object ADOQuery: TADOQuery
Connection = ADOConnection
Parameters = <>
Left = 128
Top = 24
end
end
下面我把路径设为 "相对路径" 怎么就不行了
object DataModule1: TDataModule1
OldCreateOrder = False
Left = 657
Top = 186
Height = 150
Width = 215
object ADOConnection: TADOConnection
ConnectionString =
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\Database\wave.md' +
'b;Persist Security Info=False'
Provider = 'Microsoft.Jet.OLEDB.4.0'
Left = 40
Top = 24
end
object ADOQuery: TADOQuery
Connection = ADOConnection
Parameters = <>
Left = 128
Top = 24
end
end我把程序设为相对路径就不行了,运行不了. 这相对路径到底怎么设置.
解决方案 »
- Invalid UTF-8 middle byte ox3f(at char #412,byte #127)
- 如何用Delphi将数据库里的jpg图片转换成bmp
- fastreport主从报表打印问题?
- 我已经开出110分了,感觉就象在拨110,却无人来救急。再放30分
- 请问各位哪儿有DELPHI的电子书籍
- 怎样用“代码”把字符串型数组变量填写在在DBGrid/StringGrid中?
- 急!!!!点击dbgrid 的标题可以排序吗???
- 我想给SpeedButtom.Glyph赋值,该怎么做
- 我的delphi程序运行关闭后,要等好几秒,状态栏上的显示才真正关闭,为什么?还有时候显示一个空白的状态按钮!
- delphi10、 内网、外网双服务器 、sql sever
- U盘上有没有记录宿主计算机的记录啊,如果有怎么读写?
- 求教一条SQL语句,关于两个表连接
这是完整路径的话,你的相对路径..\Database\wave.mdb,假设你的应用是在colle下,那工作路径就是F:\DelphiPro\Colle, ..\Database\wave.mdb就等于F:\DelphiPro\Database\wave.mdb,你明白..表示什么没有?是上一级目录,一个.才是当前目录,或是直接都不要,就Database\wave.mdb
你不会在datamodule.oncreate事件中用代码设置路径,然后再打开连接?
我是在这引用的:
procedure TCollectionForm.FormCreate(Sender: TObject);
begin
CollectionForm.Left:=100;
CollectionForm.Top:=40;
//CollectionForm.WindowState:=wsMaximized;
Query1:=TADOQuery.Create(self);
Query1.Connection:=DataModule1.ADOConnection;
//CollectionQuery:=tadoquery.create(self);
//CollectionQuery.connection:=DataModule1.adoconnection;
GroupBox1.Left:=0;
GroupBox1.Top:=60;
GroupBox2.Left:=0;
Bevel2.Left:=536;
Bevel2.Top:=7;
Bevel1.Left:=3;
Bevel1.Top:=257;
EditTimeX.text:='0';
EditPtY.text:='0';
EditPrY.text:='0';难道跟在哪引用有关系吗? 希望指点~`
EditAx.text:='0';
LoginForm:=TLoginForm.Create(self);
LoginForm.ShowModal;
Edit1.text:=SysUserName;
end;
2.在数据模块的oncreate事件中
ADOConnection.connectstring := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ExtractFilePath(application.exename)+'..\Database\wave.mdb;';
ADOConnection.open;
ExtractFilePath(application.ExeName) +
相对于EXE文件的相对路径
procedure TMainForm.FormCreate(Sender: TObject);
var
filename:string;
databasename,uid,s:string;
begin
Filename:=ExtractFilePath(Paramstr(0))+'mini.ini';
myinifile:=Tinifile.Create(filename);
databasename:=myinifile.readstring('配置参数','databasename','');
dataForm.Conn.Close;
s:='' ;
s:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+databasename+';Persist Security Info=False';
dataForm.Conn.ConnectionString:=s;
dataForm.Conn.LoginPrompt:=false;
dataForm.Conn.Connected:=true;
end;
参考这个试试