我用Win2000 Pro + VB6 + SQL Server2000
1.在本机中先用SQL Server建立了一个名为xlc的本地数据库,没有设密码,本机名为sun,win2000的登录账号是abc,密码是123。我想用adodb连接这个数据库,代码应该怎么写?
  我的代码如下:
  Dim cn As New adodb.Connection '连接对象
  Dim rs As New adodb.Recordset '记录集对象
  Dim strcon As String, sqlstr As String
  strcon = "Provider=SQLOLEDB;Driver={SQLServer};Server=sun;uid=;pwd=;Database=xlc"     '连接字符串
  cn.Open strcon                        '打开连接(数据库)
  rs.CursorLocation = adUseClient      '使用客户端游标
  sqlstr = "SELECT * FROM xlc"
老是提示有错误,连接字符串属性无效。
尤其是用户名和密码哪里应该怎么处理?

解决方案 »

  1.   

    strcon="Provider=sqloledb;Data Source=sun;Initial Catalog=xlc;User Id=sa;Password=;"
      

  2.   

    strcon = "Provider=SQLOLEDB;Server=sun;uid=sa;pwd=;Database=xlc"
      

  3.   

    '*********************************************************
    '* 名称:类模块DataBaseConnection
    '* 功能:连接SQL Server、Access等数据库的模块定义
    '*********************************************************Option ExplicitPublic Function MdbConnectString(MdbFile As String, Optional UserName As String, Optional password As String) As String 
    Public 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 = "xlc"  ’设置要连接数据库名称
       If Err.Number Then
          MsgBox Err.Description, 16 + vbOKOnly, Err.Number
          Exit Sub
       End If
       Form1.Show
       Unload Me
    End Sub