我要查询数据库数据的最大值,使用如下语句:
On Error Resume Next
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strCnn As String
strCnn = "Driver=sqlserver};server=localhost;uid=sa;pwd=sa;" & _
"database=Example"
Dim selStr As String
selStr = "select MAX(Founds) from Founds where Year='" & year & "'" & _
            "and DepartmentID='" & departmentID & "'"
cnn.Open strCnn
rs.Open selStr, cnn
If Not rs.EOF Then
     getFounds = rs!founds
End If
rs.Close
cnn.Close
返回0,请指教!

解决方案 »

  1.   

    这里有问题
    selStr = "select MAX(Founds) from Founds where Year='" & year & "'" & _
                "and DepartmentID='" & departmentID & "'"
    cnn.Open strCnn
    rs.Open selStr, cnn
    If Not rs.EOF Then
         getFounds = rs!founds
    End If你的记录集里没有founds字段,你怎么取值呢,修改如下
    selStr = "select MAX(Founds) as 最大值 from Founds where Year='" & year & "'" & _
                "and DepartmentID='" & departmentID & "'"
    cnn.Open strCnn
    rs.Open selStr, cnn
    If Not rs.EOF Then
         getFounds = rs!最大值
    End If试试
      

  2.   

    select MAX(Founds)  这里Founds是表中的某一个字段,可能你的表中根本就没有这个字段。建议去掉On Error Resume Next 试试,查找错误所在。
      

  3.   

    将你的代码
    If Not rs.EOF Then
         getFounds = rs!founds
    End If
    修改为
    If Not rs.EOF Then
        getFounds = rs.fields(0)
    End If
    就行了
      

  4.   

    selStr = "select MAX(Founds) from Founds where Year='" & year & "'" & _
                "and DepartmentID='" & departmentID & "'"
    Founds是表名吧
    语句错
      

  5.   

    On Error Resume Next
    编程序时最好不使用
    可以发现错误
      

  6.   

    所查询的记录集中有一列,但是没有列名,一定要MAX(XXX) as XXX