Delphi - 如何将连接字符串构建到更改目录位置的 .mdb
Delphi - How build connection string to .mdb that changes directory location
这里有点菜鸟。我在 delphi 从事学校实践工作。我的项目保存在我的一个驱动器上,每次更新程序时,我都会创建一个新版本和一个新目录。示例:
blah-blah\OneDrive\PAT(包含程序中所有文件的文件夹,包括 .mdb)
在这个没有变化的目录中,最终的文件夹名称发生了变化。例如:
blah-blah\OneDrive\PAT\V1
blah-blah\OneDrive\PAT\V2
blah-blah\OneDrive\PAT\V3 等等...
我的问题是我使用的是 .mdb,每次我将文件复制到新的文件夹结构时,我都必须去构建一个新的连接字符串以连接到我的数据库。我正在使用一个简单的 ADO 连接。
如有任何帮助,我们将不胜感激,
提前致谢!
ADO连接字符串可以存放在UDL文件中,其实就是简单的ini文件。然后你必须在 UDL 文件中更改连接字符串,而不是在你的源代码中。 Universal Data Link (UDL) configuration
连接字符串只是一个字符串,因此您可以像处理任何其他字符串一样在代码中操作它。表达式 ExtractFilePath(Application.ExeName)
returns Exe 所在位置的路径,因此您只需将 Mdb 文件名的路径部分设置为该路径。
一种方法是在您的代码中为
连接字符串值并在其中放置一个占位符作为 Mdb 的路径,就像这样
const
scConnectionString = 'blahblahetc%pathtomdb%mymdb.mdbblahetc';
然后在打开连接之前使用 StringReplace 函数替换 run-time 处的正确路径,如
var
APath : String;
[...]
APath := ExtractFilePath(Application.ExeName);
AdoConnection1.ConnectionString := StringReplace(scConnectionString, '%pathtomdb%', APath, []);
这里有点菜鸟。我在 delphi 从事学校实践工作。我的项目保存在我的一个驱动器上,每次更新程序时,我都会创建一个新版本和一个新目录。示例:
blah-blah\OneDrive\PAT(包含程序中所有文件的文件夹,包括 .mdb)
在这个没有变化的目录中,最终的文件夹名称发生了变化。例如:
blah-blah\OneDrive\PAT\V1
blah-blah\OneDrive\PAT\V2
blah-blah\OneDrive\PAT\V3 等等...
我的问题是我使用的是 .mdb,每次我将文件复制到新的文件夹结构时,我都必须去构建一个新的连接字符串以连接到我的数据库。我正在使用一个简单的 ADO 连接。
如有任何帮助,我们将不胜感激, 提前致谢!
ADO连接字符串可以存放在UDL文件中,其实就是简单的ini文件。然后你必须在 UDL 文件中更改连接字符串,而不是在你的源代码中。 Universal Data Link (UDL) configuration
连接字符串只是一个字符串,因此您可以像处理任何其他字符串一样在代码中操作它。表达式 ExtractFilePath(Application.ExeName)
returns Exe 所在位置的路径,因此您只需将 Mdb 文件名的路径部分设置为该路径。
一种方法是在您的代码中为 连接字符串值并在其中放置一个占位符作为 Mdb 的路径,就像这样
const
scConnectionString = 'blahblahetc%pathtomdb%mymdb.mdbblahetc';
然后在打开连接之前使用 StringReplace 函数替换 run-time 处的正确路径,如
var
APath : String;
[...]
APath := ExtractFilePath(Application.ExeName);
AdoConnection1.ConnectionString := StringReplace(scConnectionString, '%pathtomdb%', APath, []);