vb 连接sql2000是不是一定要使用odbc ,使用了odbc有什么好处,是不是就可以访问不同的商业数据库了?谢谢大家!

解决方案 »

  1.   

    对于ADO来说  只要换了连接字符就可以了你看看这个连接 http://jinesc.6600.org/myweb/disp.asp?idd=91&room=40当然不同的数据库有在使用上不同的区别的
      

  2.   

    ODBC就是一种通用的数据库访问接口,对于应用程序的发布比较麻烦,还得手工配置(也可以通过程序处动创建).不过对于ADO来说可以放弃ODBC,通过专用接口访问!!代码如下:Option Explicit'工程->引用->Microsoft ActiveX Data Objects 2.0 Library (后面为版本号)
    Dim rs As New ADODB.Recordset, cn As New ADODB.Connection'在MSHFLEXGRID表格控件中显示查询到的内容
    Private Sub Command1_Click()
        If rs.State = adStateOpen Then rs.Close
        rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
        Set MSHFlexGrid1.DataSource = rs
    End Sub'向数据库中添加数据
    Private Sub Command2_Click()
        If rs.State = adStateOpen Then rs.Close
        rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
        rs.AddNew
        rs!UID = txtUid.Text
        rs!PWD = txtPwd.Text
        rs!TRUENAME = txtName.Text
        rs!CREATEDATE = Format(Now, "YYYY/MM/DD")
        rs.Update
        
        Command1.Value = True
    End Sub'从数据库中删除数据
    Private Sub Command3_Click()
        cn.Execute "DELETE FROM USERPASSWORD WHERE UID = '" & txtUid.Text & "'"
        Command1.Value = True
    End SubPrivate Sub Command4_Click()
        With MSHFlexGrid1
            Clipboard.SetText .Text
        End With
    End SubPrivate Sub Command5_Click()
        With MSHFlexGrid1
            .Text = Clipboard.GetText
        End With
    End SubPrivate Sub Form_Load()
        cn.ConnectionString = "DBQ=" & App.Path & "\TelePhone.mdb;DefaultDir=" & _
            App.Path & ";Driver={Microsoft Access Driver (*.mdb)};" & _
            "DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;" & _
            "MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;" & _
            "Threads=3;UID=ADMIN;UserCommitSync=Yes;PWD=admind1234;"
        cn.Open
        '查询字符串可以上这里查
        'http://www.connectionstrings.com/
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End SubPrivate Sub MSHFlexGrid1_RowColChange()
        With MSHFlexGrid1
            'MsgBox .TextMatrix(.Row, .Col)
        End With
    End Sub