本人在学做超市管理系统的时候遇到连接问题,不管是前台和后台的连接都是一样,我上网查询了,估计应该是与数据库连接的问题,还请高人指点。所用的软件是VB6.0,数据库是SQL server 2000; 
Public Function QueryExt(ByVal TmpSQLstmt As String) As ADODB.Recordset '执行数据库查询语句
    Dim rst As New ADODB.Recordset
    DB_Connect    '连接到数据库
    
    Set rst.ActiveConnection = cnn    '设置rst的ActiveConnection属性,指定与其关联的数据库连接
    rst.CursorType = adOpenKeyset
    rst.LockType = adLockOptimistic   '设置锁定类型
    rst.Open TmpSQLstmt    '打开记录集
    Set QueryExt = rst    '返回记录集
End Function    系统在调试的时候提示以上红色字段,数据库的路径为:E:\Tool\Microsoft SQL Server\MSSQL$HRJ664973693\Data下的SuperMarket,注意:系统默认是SuperMarket,而本人在编辑的时候却写成了SuperMarker,一个是t,一个是r,请问该怎样改?我的数据库(SuperMarker)前台已创建完整的表,如果需要全文代码查看的请告之下。在线求解,谢谢了!
  VBSQL ActiveConnection属性

解决方案 »

  1.   

    具体的cnn连接串内容呢,在cnn连接串中改数据库就可以了
      

  2.   

    具体什么错误提示?
    检查一下有没有引用ADO
      

  3.   

    Dim cnn As ADODB.Connection
    改为:
    public cnn As ADODB.Connection
    试试
      

  4.   

    '这样试试:
    Public Sub DB_Connect() '使用Connect_Num控制数据库连接
        public cnn as new adodb.connection
        with cnn
            If .State = adStateOpen Then .Close
            .ConnectionString = "driver=SQL Server;server=计算机名或IP地址;uid=SA;pwd=SA的密码;database=数据库名"
            .CommandTimeout = 0
            .Open
        End With
    End Sub
      

  5.   


       按你所给的试着改,结果是找不到数据源,我上网查了我原代码是没问题的,数据库是采用一种动态的连接方式,如下:Private Sub Connect() '连接数据库
        If IsConnect = True Then  '如果连接标记为真,则返回。否则会出错
            Exit Sub
        End If
       
        On Error GoTo DbOpenErr
        Set cnn = New ADODB.Connection '关键New用于创建新对象cnn
           With cnn
            .Provider = "sqloledb"
            .ConnectionString = "data source=.;initial catalog=SuperMarket;user id=sa;password=;"
            .ConnectionTimeout = 10
            .Open
        End With
        IsConnect = True  '设置连接标记,表示已经连接到数据库
        Exit Sub
        
    DbOpenErr:
        If err = -2147467259 Then
            Set cnn = Nothing
            MsgBox "连接MS SQL Server数据库失败!" & vbCrLf & vbCrLf & "请检查配置是否完好,数据库SuperMarket是否存在?", vbOKOnly + vbInformation, "超市前台POS管理系统"
            End
        End If
        
    End Sub   如果说有问题,那也是我SQL上的关系图未建立,数据库里已经有表了。
      

  6.   

    1,确认SQL服务是正常开启
    2,如果SQL不是本机,则确认SQL所在机器的防火墙是否关闭且SQL补丁是否为最新
    3,将data source=. 改为 data source=SQL实例名 再试试
      

  7.   

    Private Sub Form_Load()
        Dim strConn As String
        Dim pubConn As New ADODB.Connection
        Dim rsTable As New ADODB.Recordset
        Dim strSQL As String    'Access 2000的連接
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/North.mdb;Persist Security Info=False"
        'SQL Server2000的連接
        strConn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=develop; password=12345;Data Source=ServerName"
        pubConn.Open strConn    rsTable.CursorLocation = adUseClient
        strSQL = "select  * from TableName"
        rsTable.Open strSQL, pubConn, adOpenDynamic, adLockOptimistic
        Set DataGrid1.DataSource = rsTableEnd Sub
      

  8.   


       怎么改,我的cnn内容是:
       Private Sub Connect() '连接数据库
         If IsConnect = True Then  '如果连接标记为真,则返回。否则会出错
            Exit Sub
        End If
       
        On Error GoTo DbOpenErr
        Set cnn = New ADODB.Connection '关键New用于创建新对象cnn
           With cnn
            .Provider = "sqloledb"
            .ConnectionString = "data source=.;initial catalog=SuperMarket;user id=sa;password=;"
            .ConnectionTimeout = 10
            .Open
        End With
        IsConnect = True  '设置连接标记,表示已经连接到数据库
        Exit Sub
        
    DbOpenErr:
        If err = -2147467259 Then
            Set cnn = Nothing
            MsgBox "连接MS SQL Server数据库失败!" & vbCrLf & vbCrLf & "请检查配置是否完好,数据库SuperMarket是否存在?", vbOKOnly + vbInformation, "超市POS前台管理系统"
            End
        End If
    End Sub    我觉得就是与数据库连接的问题,请问数据库的表是否需要建立数据?