打包后
到另一台机器上,安装后
提示找不到数据库路径
access数据库,用ado绑定到datagrid上的是不是在写连接字符串时,写的有问题?应该怎么写啊?

解决方案 »

  1.   

    用相对路径,如
    Public   gsOdbcName   As   String   
    Public   ADOsdb   As   new   ADODB.Connection         gsOdbcName   =   "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data   Source= "   _ 
                    &   app.path   &   "\db.mdb "   &   "; " 
            
    With   ADOsdb 
                    If   .State   <>   adStateOpen   Then 
                            .CursorLocation   =   adUseClient 
                            .ConnectionString   =   gsOdbcName 
                            .Open 
                    End   If 
    End   With 
      

  2.   

    将数据库放在程序所在目录下,在代码中用:app.path & "\text.dmb"  引用  
      

  3.   

    可以用app.path & "\數據庫名",再將數據庫復制到你的程序里就可以了
      

  4.   

    我是这样做的,在模块Module中定义了这样的函数,调用该函数返回连接字符串Public Function ConnectString() As StringConnectString = App.PathIf Right(ConnectString, 1) <> "\" Then
        ConnectString = ConnectString + "\"
    End If
    ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" &  ConnectString & "\Terminal.mdb"End Function在form里调用
    就像这样
    Adodc.ConnectionString = Module1.ConnectString但是就出现路径不是有效路径的提示
      

  5.   

    在本机建立工程时,在ado控件的属性里添加的连接字符串指向我机器上的路径
    怎么改呢?还有lcsfxs写的那段代码、要放到form_load里吗?
      

  6.   

    换机器时,ADO的路径已经改变,所以ADO需要重新测试连接,一定好用,试一试!
      

  7.   

    换机器时,ADO的路径已经改变,所以ADO需要重新测试连接,一定好用,试一试!
      

  8.   


    Dim rsTestOne As New ADODB.Recordset
    rsTestOne.CursorLocation = adUseClient
    rsTestOne.Open ".....", ADOsdb, adOpenDynamic, adLockReadOnly
    Set DataGrid1.DataSource = rsTestOne
      

  9.   

    To shendun2007:     您好!rsTestOne.Open ".....", ADOsdb, adOpenDynamic, adLockReadOnly
    这句里的"....."要放什么呢?在您的回复中,是针对这个程序回答的吧用相对路径,如 
    Public  gsOdbcName  As  String  
    Public  ADOsdb  As  new  ADODB.Connection         gsOdbcName  =  "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data  Source= "  _ 
                    &  app.path  &  "\db.mdb "  &  "; " 
            
    With  ADOsdb 
                    If  .State  <>  adStateOpen  Then 
                            .CursorLocation  =  adUseClient 
                           .ConnectionString  =  gsOdbcName 
                            .Open 
                    End  If 
    End  With 那么我要把这段程序放在哪里呢? 模块Modulel里?form里?现在有个问题“找不到可安装的ISAM."
    出错语句指向 .Open
      

  10.   

    如果非要用绑定 那 在所有 有绑定的控件 窗体LOAD的时候  把控件的 连接字符重写一遍   
      

  11.   

    问题“找不到可安装的ISAM."
    这个解决了,因为我用的是access数据库,字符串写错了现在采用这种方法了
    在adodc控件的属性选项的字符串栏写入d:\xx.mdb,把程序打包,之后装到其他机器上,把数据库放到d盘下,虽然可以用了,但总觉得不是那么回事