假如要打开的的数据库文件为
C:\Documents and Settings\dxssx\桌面\db1.mdb
无用户名密码cnn.open(cnnstr)
其中cnnstr该怎么写?

解决方案 »

  1.   

    没有密码:
     cnn.Open "filedsn=test" 
    '(test为fileDsn名)有密码:
     cnn.Open "filedsn=testpwd;uid=admin;pwd=123" 
     '(testpwd为fileDsn名,123为数据库密码,admin为用户名,大多为默认的admin)
      

  2.   

    '工程-〉引用 Microsoft ActiveX Data Objects 2.x Library 
    Option Explicit
        Public mCnnString As String '定义连接字符串变量Private Sub Form_Load()
        mCnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Temp\" & "\Test.mdb" & ";Persist Security Info=False"
    End SubPrivate Sub Command1_Click()
        Dim mCnn As New ADODB.Connection
        mCnn.CursorLocation = adUseClient
        mCnn.Open mCnnString
        mCnn.Execute ("Update 药品 Set 名称 = '川贝枇杷膏',数量 = 88 Where 数量 Like '%33%'")
        mCnn.Close
        Set mCnn = Nothing
    End SubPrivate Sub Command2_Click()
        Dim mRst As New ADODB.Recordset
        mRst.CursorLocation = adUseClient
        mRst.Open "Select * From 药品 Where 数量 = 18", mCnnString, adOpenStatic, adLockOptimistic, adCmdText
        mRst.AddNew
        mRst("名称") = "鱼肝油"
        mRst("数量") = 33
        mRst.Update
        mRst.Close
        Set mRst = Nothing
    End Sub
      

  3.   

    在配置odbc数据源的时候选择文件dsn
    根据向导就搞定了
    ConnectString = "FileDSN=test.dsn;UID=sa;PWD=xxx"
      

  4.   

    参考
    http://www.connectionstrings.com
      

  5.   

    若有密码就改为:
    Private Sub Form_Load()
        mCnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Temp\" & "\Test.mdb" & ";Persist Security Info=False;Jet OLEDB:Database Password=123"
    End Sub
      

  6.   

    请问对于C:\Documents and Settings\dxssx\桌面\db1.mdb
    filedns是什么?
    抑或是odbc里面配置的哪个东西?
      

  7.   

    你打开odbc配置,选择文件dsn
    然后路径指定到C:\Documents and Settings\dxssx\桌面\db1.mdb
    任意填入一个名称作为filedsn
      

  8.   

    明白了  我把filedns搞错了
      

  9.   

    再问一个如果想通过一个数据库文件来打开数据库
    是不是一定要按照不同的数据库类型来写connectionstring?
    有没有一个统一的方法?
      

  10.   

    数据库的类型不同,连接字符串自然不同,不过格式都差不多,
    你可以自己看看不同的连接字符串,就知道了oracle
    "Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;" Sqlserver
    "Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;" 
      

  11.   

    如果想通过一个数据库文件来打开数据库
    是不是一定要按照不同的数据库类型来写connectionstring?
    有没有一个统一的方法?每一种数据库类型去冬不一样,写法有区别