DB_Connect
OdbcExt()
room_code char 30
已经定义,用OdbcExt()执行无返回值的SQL语句,成功.
但是执行有返回值的语句,但是为什么用了sqlgetdata后,别的返回都正常,但是只有查询内容无返回
Private Sub Form_Load()
    DB_Connect
    sqlstmt = "select room_code from roomlist "
    MsgBox sqlstmt
    OdbcExt (sqlstmt)
    If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
    colval = String(400, 0)
    rc = SQLGetData(Hstmt, 1, 1, colval, Len(colval), pcblen)
    MsgBox volval          'msgbox不显示任务东西
    MsgBox Len(colval)     '结果"400"
    MsgBox pcblen          '结果"30"
    MsgBox rc              '结果"0"
        
    End If
    
    rc = SQLFreeStmt(Hstmt, SQL_DROP)
    DB_Disconnect
      
    End Sub麻烦高手帮忙分析一下是什么地方的原因.

解决方案 »

  1.   

    可能OdbcExt (sqlstmt)函数有问题,
      

  2.   

    Public Sub OdbcExt(ByVal TmpSQLstmt As String)
      '根据连接句柄,分配语句句柄
      If SQLAllocStmt(Hdbc, Hstmt) Then
        MsgBox "句柄分配失败", , "ODBC API执行错误"
        DBapi_Disconnect
        End
      End If
      '执行SQL语句,Lench是用户自定义函数,计算包含汉字的字符串长度
      If SQLExecDirect(Hstmt, TmpSQLstmt, Lench(TmpSQLstmt)) Then
        MsgBox "数据库访问语句执行失败", , "ODBC API执行错误"
        MsgBox TmpSQLstmt
        DBapi_Disconnect
        End
      End If
    End Sub这是函数定义,帮忙看一下