用VB做了一个管理系统,后台用Access数据库,一切查询都很正常没有问题,后来换成了SQL server2000数据库,有些查询就出现问题了,比如下面这条查询语句就出现了问题。
 txtSQL = "select * from selectcourseinfo "
 Set mrc = ExecuteSQL(txtSQL, MsgText)
ExecuteSQL函数是这样写的:
Public Function ExecuteSQL(ByVal Sql _
   As String, MsgString As String) _
   As ADODB.Recordset
'executes SQL and returns Recordset
   Dim cnn As ADODB.Connection
   Dim rst As ADODB.Recordset
   Dim sTokens() As String
   
   On Error GoTo ExecuteSQL_Error
   
   sTokens = Split(Sql)
   Set cnn = New ADODB.Connection
   cnn.Open ConnectString
   If InStr("INSERT,DELETE,UPDATE", _
      UCase$(sTokens(0))) Then
      cnn.Execute Sql
      MsgString = sTokens(0) & _
         " query successful"
   Else
      Set rst = New ADODB.Recordset '1, 1 '
      rst.Open Trim$(Sql), cnn, _
         adOpenKeyset, _
         adLockOptimistic
      'rst.MoveLast     'get RecordCount
      Set ExecuteSQL = rst
      MsgString = "查询到" & rst.RecordCount & _
         " 条记录 "
   End If
ExecuteSQL_Exit:
   Set rst = Nothing
   Set cnn = Nothing
   Exit Function
   
ExecuteSQL_Error:
   MsgString = "查询错误: " & _
      Err.Description
   Resume ExecuteSQL_Exit
End Function
上面语句执行完成后,MsgText=“查询到-1条记录”
请高手指点,多给分