我用adodc控件绑定了一个数据库D:\VB98\停车场管理软件\基础数据信息.mdb,在connectstring中用的是相对地址:.\基础数据信息.mdb,可当使用CommonDialog控件showsaveas后在运行就会说出错变成CommonDialog的地址+.\基础数据信息.mdb了,如何解决这个问题

解决方案 »

  1.   

    http://download.csdn.net/source/1498324
      

  2.   

    将数据库放在程序所在同一目录下,在代码中这样写:data source="& app.path & "\test.mdb
      

  3.   

    将数据库放在程序所在同一目录下,在代码中这样写:
        adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=" & App.Path & "\基础数据信息.mdb;"
        adodc1.Refresh
      

  4.   

    这是正常现象,因为LZ用的是相对路径。
    解决方法可以用:
    app.path & "\基础数据信息.mdb"
    将文件“基础数据信息.mdb”放入项目目录下。
      

  5.   

    应该说CommonDialog与connectstring没有直接关系,不知道你的程序是怎么写的。
    如果是用CommonDialog取得一个路径,你直接赋给connectstring就行了。
    如果是用CommonDialog存了一个路径你,读取这个路径串,然后赋值给connectstring。
      

  6.   

    就是路径的问题。一般都把.MDB文件放在自己程序的目录里。
      

  7.   

    大家说的都对,不过这我也知道,你你们说的都只能在程序中的,我想知道在属性窗口里connectstring如何设置,好像它不认识app.path,用.\***.mdb的话,运行会连接错误,因为路径变成CommonDialog.filename\***.mdb,【顺便问下如何给CommonDialog设置默认的文件名称和路径】
      

  8.   

    VB如何与ACCESS数据库连接
    方法1
    建立一个模块 
    将工程的启动设置为 SUB MAIN 
    在模块里写下面代码 
    Public db As Database 
    Public rs As Recordset 
    Sub main() 
    set db=db.opendatabase("数据库路径") (建议用相对路径--就是把数据库文件和工程文件放在同一目录下--相对路径就是APP.PATH+"数据库名带后缀") 
    第一启动窗体(如:form1).show 
    end sub 
    以后在其他窗体中如果要调用数据库只用在窗体中写代码 
    set rs=openrecordset(<可以是数据库的表--如"student",也可以是查询语句--如"select* form student">) 
    这时数据库的内容都存在FILE集合里 
    比方说set rs=openrecordset("select* form student") 
    rs.file(0)就是SQL语句查询结果的第一列 
    rs.files就是整个结果 
    使用text1.text=rs.file(0)就可以把文本框于查询结果绑定起来 
    如果要对数据库进行修这时用以下代码: 
    db.Execute (<SQL语句--如"insert into student(sno,sname) value("","")">) 
    方法2 
    工程--部件--选择microsoft data bound grid control 5.0 
    然后在窗体中添加左边工具栏的 DATA 和DBGRID 控件 
    选择DBGRID 将属性DATASOURCE 设置为DATA控件的名字(如DATA1) 
    然后选择DATA 将属性CONNECT设置为ACCESSS 2000 
    设置DATABASENAME 选择数据库的存放路径 
    最后设置RECORDSET 为需要连接的表的名字 
    运行就可以看到 DATAGRID中显示了数据库的信息
    方法3
    Dim con as ADODB.Connection
    Set con = New ADODB.Connection
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
    或者
    Dim con as new ADODB.Connection
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
    con.open
    不要忘了加引用数据库引擎