我的数据库其实就是一个MDB的文件.

解决方案 »

  1.   

    MDB的文件?
    那是不是数据库的文件名为MDB啊??
    要是这样的话,直接查找文件名为MDB的文件,找到的话直接返回文件目录~
    找不到就提示不存在文件目录??
    是不是这个意思??
      

  2.   

    注册表下 ODBC/数据源名,其中有一个value,指明数据库路径
      

  3.   

    楼主的意思是代码实现还是直接通过查看ODBC来查看数据库路径啊???
      

  4.   

    当前用户的ODBC配置都在注册表HKEY_CURRENT_USER\Software\ODBC\ODBC.INI里:
    自己去读吧,读注册表应该会吧..
      

  5.   

    直接查询注册表就可以了.但并不是所有的ODBC数据源都可以查到数据库的文件名的.比如SQL Server?
      

  6.   

    我是指用编程的方式实现,通过一个函数,输入为数据源的名字,能够得到数据库存放的全路径.
    我用的数据库是一个MDB文件,所以应该是可行的吧.至于查注册表,我觉得用API能够避免一些意外的情况,比查注册表要安全一些
      

  7.   

    查注册表也是在用API,你也不能保证其他API内部也是通过查注册表来实现的...
      

  8.   

    那数据库的文件名知道吗?
    是不是上面所说的MDB名~
      

  9.   

    to snowbirdfly
    我现在当然知道名字,但是想做的零活点儿,能够做到通过数据源名来找到数据库的全路径.
      

  10.   

    我有一个获取Access 的mdb的代码
    贴上来有点帮组吧BOOL CAlertApp::InitInstance()
    {
    AfxEnableControlContainer();
        CString sPath;
    GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
    sPath.ReleaseBuffer ();
    int nPos;
    nPos=sPath.ReverseFind ('\\');
    sPath=sPath.Left (nPos);
    nPos=sPath.ReverseFind('\\');
        sPath=sPath.Left (nPos);
    CString lpszFile = sPath + "\\Alert.mdb"; 
    这个我是从一本书上看到的,没有完全看懂
    希望能对你有点启发吧
    把你的MDB放到你的代码那个文件夹这个代码是可以用的
    我下面还有一点代码,自动生成odbc数据源的
      

  11.   

    xbt746(头上无毛),我对你哪个生成数据源的代码感兴趣...,