使用Adodc控件,现在只能在一个文件夹下使用,改成别的路径就不行。其中Adodc的ConnectionString属性为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\VB project\db1.mdb;Persist Security Info=FalseDataGrid的Datasource属性为:adodc怎么才能改成动态的,即放在各种位置都能用。在线等,急,谢谢!msn:[email protected]

解决方案 »

  1.   

    HOHO
    全盘寻找数据库文件!确定文件路径!但是好象没有人这么做吧?都是把数据库存和应用程序放到一个文件夹下吧!
      

  2.   

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\db1.mdb;Persist Security Info=False
      

  3.   

    我这样试过了。
    在form_load中把adodc.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\db1.mdb;Persist Security Info=False"
    好像不行。你说的那个语句是在哪赋值?
      

  4.   

    app.path是当前工程的目录,你的数据库文件要与当前工程目录相同
      

  5.   

    真的要动态倒不如用个commdialog来让用户选择打开哪个数据库文件吧。
      

  6.   

    可以这样操作:
    事先建立一个配置文件例如 DataPath.ini 里面保存你的数据库路径及其数据库名称。
    你在你的程序启动时读取该文件中的数据库路径,并调用即可。Dim DataPath as String...DataPath=...    '此处的 DataPath 包含具体的数据库名称...Adodc.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath & ";Persist Security Info=False"...此方法的好处数据库路经和名称与你的应用程序无关,同时你还可保存调用多个路径和多个数据库!
    你只需:
    Dim DataPath() as String
    Dim Count1 Count1=2
    ReDim DataPath(Cont1)
    ...DataPath(0)=...    '数据库名称 1
    DataPath(1)=...    '数据库名称 2
    DataPath(2)=...    '数据库名称 3...Adodc.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath(0) & ";Persist Security Info=False"...'以下动态的改变了数据库路径由 DataPath(0) 为 DataPath(1)
    Adodc.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath(1) & ";Persist Security Info=False"...
      

  7.   

    多谢老大,但是我这句Adodc.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath & ";Persist Security Info=False";
    应该写在什么地方呢?
    我写在form_load中,运行时告诉我“odbc驱动程序”管理器未发现数据源名称并且为指定默认驱动程序”
    不知道怎么回事!
      

  8.   

    其实,你可以将整个连接字符串都写在配置文件中,这样,不仅数据库路经和名称可动态改变,连你的连接属性的信息也可动态改变。在建立连接字符串时我是先通过新建一 .udl 文件(可通过先件一 . txt 文件,再将其扩展名该为 .udl 来实现),在打开该 .udl 文件通过向导建立并测试连接成功;接下来,将扩展名由 .udl 该回 .txt,打开该 .txt 文件,里面已有现成的连接字符串,你只需复制粘贴即可使用,由于连接字符串已经过你测试连接成功,所以在你的程序里使用一般不会报错!不知你的连接字符串是怎么建立的,是你直接通过键盘输入的还是其他方法!写在form_load中应该没问题的呀,在你需要建立新连接的地方都可以写,但执行 Open 之前必须确保相同的 Adodc 上次打开同一数据库已经关闭,否则打开将不成功,即:同一个 Adodc 对同一个数据库只能打开一次,再次打开时必须先关闭!