Delphi数据库编程 - 数据库的通用位置

时间:2014-05-03 21:25:13

标签: database delphi ado

我正在使用ADO连接来连接我的数据库是MS Access,一切正常,但我很好奇是否可以选择写一个“通用”位置。

e.g。而不是

C :\ Documents and Settings \ User

我想写某些内容而不是 C ,因此程序会查看Documents and Settings文件夹所在的每个其他位置。

我尝试使用星号(*:\ Documents and Settings \ User)和三个点(...:\ Documents and Settings \ User)但它不起作用

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您想要检索用户'文件夹,最简单的方法是使用SHGetFolderPath() CSIDL_PERSONALShFolder.pas

program Project1;
{$APPTYPE CONSOLE}

uses SysUtils, Shfolder, ComObj, Windows;

var buffer : array[0..MAX_PATH] of Char;
begin
  try
    OleCheck( SHGetFolderPath( 0, CSIDL_PERSONAL, 0, SHGFP_TYPE_CURRENT, buffer));
    Writeln(buffer);
  except
    on E: Exception do Writeln(E.ClassName, ': ', E.Message);
  end;
end.

在其他一些参数中,函数需要一个CSIDL常量来确定要返回的文件夹位置。例如,如果您想将数据库置于C:\ProgramData\<Your application name here>下,则可以改为使用CSIDL_COMMON_APPDATA

查看documentation以了解其他参数和其他CSIDL常量。