dim a as recordset
strtemp=a.field("strtemp")

解决方案 »

  1.   

    写错了
    dim a as recordset
    dim b as varient
    b=a.field(strtemp)
      

  2.   

    上述方法均不可实现,因为不管是a.field(strtemp)还是rs(strtemp)中的strtemp均为string类型,故在访问相应数据库时会报错。
      

  3.   

    strtemp和rst("strtemp")是没有关系的吧
    rst("strtemp")里面有引号的
    你觉得不行的话,你就用rst(0),这样总可以了八
      

  4.   

    什么数据库?
    我sql server一直是这样用的。
      

  5.   

    Dim rstRes As New ADODB.Recordset
        Set rstRes.ActiveConnection = cnSQL
        strActive = "SELECT * FROM TempTab"
        rstRes.Open strActive, , , adLockPessimistic
        
        Dim strPro As String
        Dim strTemp As String
        
        strTemp ="FiledOne"
        strPro = CStr(rstRes!strTemp)该程序是由ADO控件编写的,数据库采用SQL数据库。其中TempTab表中有FiledOne、FiledTwo等字段名,
    且strTemp的内容是动态的,此时该如何读取相应字段的内容?请指教!楼上的如果这样使用strPro=CStr(rstRes!FiledOne)是没用问题,但我的
    问题是strTemp是动态的,你根本不知道读取的是哪个字段的内容。
      

  6.   

    首先rs(strtemp)这样用时可以的,问题主要是在strtemp所表示的字段类型不知道,所以你用
    strPro = CStr(rstRes!strTemp)
    才会出问题。你可以用field的type属性(好像是)得到其类型(vb里的类型),然后赋给相应的变量。或者用
    select DATA_TYPE from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = yourtable and COLUMN_NAME = strtemp
    得到其字段类型(sql server里的类型)