与数据库连接是不是一定要用DATA控件?如果不用DATA控件,又怎么与数据库相连?

解决方案 »

  1.   

    当然不是了。有很多种曾经流行,现在流行或将来要流行的方法。比如ODBC->DAO->RDO->OLE DB,ADO->ADO.NET
      

  2.   

    ////Ado
    Dim StrCon As String
    StrCon = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;" _
         & "Initial Catalog=你的数据库名称;Data Source=" & 你的IP地址 & ";" _
         & "Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;" _
         & "Use Encryption for Data=False;Tag with column collation when possible=False"
                
    dim AcSys  as new adodb.connection 
       With AcSys
          If .State = adStateOpen Then .Close
          .ConnectionString = StrCon
          .ConnectionTimeout = 30
          .Open
        End With
      

  3.   

    可以用对象,通过引用数据对象一样可以完成数据库的连接的。在Acess2000的帮助文档中有相关的实例。
      

  4.   

    用ADO+SQL Server2000 
      

  5.   

    连接目前用ado吧,后台oracle 最好了。
      

  6.   

    在问一个菜鸟的问题:dim AcSys  as new adodb.connection 这个定义用到了adodb.connection ,请问这些需要在那里设置才能得到?
      

  7.   

    Dim CN   As New ADODB.Connection                '定义数据库的连接存放数据和代码
        Dim Rs   As New ADODB.Recordset
        CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=sa;"
        CN.Open
        Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic
        Set MSHFlexGrid1.DataSource = Rs
      

  8.   

    Dim adoCnn As New ADODB.Connection
     Dim adoCmm As New ADODB.Command
     Dim adoRec As New ADODB.Recordset
     
     adoCnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Program Files\Microsoft Visual Studio\VB98\NWIND.MDB;Persist Security Info=False" adoCmm.ActiveConnection = adoCnn
     adoCmm.CommandType = adCmdText
     adoCmm.CommandText = "select * from employees"
     Set adoRec = adoCmm.Execute Set DataGrid1.DataSource = adoRec
      

  9.   

    在工程引用对话框中选择Microsoft ActiveX Data Objects 2.1 Library和Microsoft ActiveX Data Objects Recordset 2.0 Library
      

  10.   

    Microsoft ActiveX Data Objects 2.5 Library以上的ado以下代码是连接sql server数据库的代码!Option ExplicitPublic Function MdbConnectString(MdbFile As String, Optional UserName As String, Optional password As String) As String
       MdbConnectString = "Provider=MSDASQL.1;Extended Properties=" + """" + "DBQ=" + MdbFile + ";Driver={Microsoft Access Driver (*.mdb)};MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=" + UserName + ";Pwd=" + password + """"
    End FunctionPublic Function XlsConnectString(XlsFile As String) As String
       XlsConnectString = "Provider=MSDASQL.1;Extended Properties=" + """" + "DBQ=" + XlsFile + ";Driver={Microsoft Excel Driver (*.xls)};MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3" + """"
    End FunctionPublic Function CsvConnectString() As String
       CsvConnectString = "Provider=MSDASQL.1;Extended Properties=" + """" + "Driver={Microsoft Text Driver (*.txt; *.csv)};MaxBufferSize=2048;MaxScanRows=25;PageTimeout=5;SafeTransactions=0;Threads=3;" + """"
    End FunctionPublic Function SqlConnectString(ServerName As String, UserName As String, password As String) As String
       SqlConnectString = "Provider=SQLOLEDB.1;User ID=" + UserName + ";Pwd=" + password + ";Data Source=" + ServerName
    End Function
    模块中定义的连接等公用变量
    Public db As New ADODB.Connection
    Public rs As New ADODB.Recordset
    Public cmd As New ADODB.Command
    '*********************************************************
    '* 名称:连接服务器窗体
    '* 功能:连接SQL Server数据库
    '* 控件:三个文本框和两个按钮
    '*********************************************************
    Private Sub Command1_Click()
    On Error Resume Next
       Dim DBC As New DataBaseConnection
       If db.State = 1 Then  
          db.Close
       End If                             
       db.ConnectionString = DBC.SqlConnectString(Text1.Text, Text2.Text, Text3.Text)
       rs.CursorType = adOpenDynamic
       rs.CursorLocation = adUseClient
       rs.LockType = adLockOptimistic
       db.CursorLocation = adUseClient
       db.Open
       Set cmd.ActiveConnection = db
       If Err.Number Then
          MsgBox Err.Description, 16 + vbOKOnly, Err.Number
          Exit Sub
       End If
       db.DefaultDatabase = "student1"  ’设置要连接数据库名称
       If Err.Number Then
          MsgBox Err.Description, 16 + vbOKOnly, Err.Number
          Exit Sub
       End If
       d1 = Text1.Text
       d2 = Text2.Text
       d3 = Text3.Text
       Form1.Show
       Unload Me
    End Sub
      

  11.   

    楼上的,说的实在太详细了!!!!!!!!!我说个简单的。
    Public Function conn() As ADODB.Connection
    '连接数据库模块
        Dim Catalog As String'数据库名
        Dim Source As String'数据服务器名
        Dim cnStr As String'数据库连接字符串
        Dim cdb As Connection
        Static iNumber As Integer’记录3次输入次数
        Catalog = "bug"
        Source = "skyboot"
    On Error GoTo Err
         cnStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=" & Catalog & ";Data Source=" & Source
         Set cdb = New ADODB.Connection
         cdb.CursorLocation = adUseClient
         cdb.CommandTimeout = 10
         cdb.Open cnStr
         Set conn = cdb
         Exit Function
    Err:'如果出错,手工可以输入3次服务器名和数据库名
        MsgBox "数据库连接出错", vbOKOnly, "数据库连接出错"
        iNumber = iNumber + 1
        If iNumber > 3 Then
            MsgBox "由于多次输入出错,系统将自动退出。"
        Else
            Source = InputBox("缺省数据库打开失败", "请输入参数", , 2000, 2000)
            Catalog = InputBox("缺省数据库打开失败", "请输入参数", , 2000, 2000)
            cnStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog="cnStr = cnStr & Catalog & ";Data Source=" & Source
            
        End If
        Resume
    End Function