我想把第i题的答案赋给st 可是总是题是由参数未被定义
dim i as integer
dim st as string
Public cn As New ADODB.Connection
For i = 1 To 20
      
    st = "select 答案 from 答案表 where 题的序号='&i& 'and 题型='单选' "
    If .State = adStateOpen Then .Close
      .Open st, cn, adOpenDynamic, adLockOptimistic那位高手能帮我解决这个问题

解决方案 »

  1.   

    题的序号 是数据库中表的字段名称吗?
    题的序号 是数字类型还是文本类型的?
     st = "select 答案 from 答案表 where 题的序号='& i & 'and 题型='单选' "
    如果是数字的就不要单引号,文本的就要
    空格别舍不得用
      

  2.   

    高手,我空格加上了,现在提示的错误是语法错误(操作符)丢失,在select 答案 from 答案表 where 题的序号='& i & 'and 题型='单选' 中。请高手指点
      

  3.   

    "select 答案 from 答案表 where 题的序号='" & i & "' and 题型='单选'"
      

  4.   

    我的程序以运行就报错,说什么至少一个参数没被指定值。
    光标一直停在,.Open st, cn, adOpenDynamic, adLockOptimistic是我的st没被指定值吗,楼上的各位高手的办法我都试了。
    我的题的序号是文本型的。
    帮帮我吧!
      

  5.   

    试试这个
    Public cn As New ADODB.Connection
    Public ADORs As New ADODB.RecordSetWith ADORs
        if .State = adStateOpen Then
             .Close
             set  ADORs=Nothing
        end if
        dim safsd as string
        safsd="Provider=Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source=" & App.Path & "\PMD.mdb;"
        cn.open safsd
        st = "select 答案 from 答案表 where 题的序号='&i& 'and 题型='单选' "
        .Open st, cn, adOpenDynamic, adLockOptimistic
    End With
      

  6.   

    对象打开时,操作不被允许,你是不是将数据库用ACCESS打开了,或者别的什么程序打开了
    .Open st, cn, adOpenDynamic, adLockOptimistic
    后面还有一个参数,根据你的语句,是少了一个参数,如果是SQL语句就用adcmdtext
    如果是表,就用ADCMDTABLE,可以微微提高性能
      

  7.   


    加上楼上那位高手的adcmdtext ,现在提示的错误是from 子句语法错误高手救命阿