我想问一下VB中关于adodc控件的问题。 
我在窗体上建立一个text1、一个command1. 
Private Sub Command1_Click() Adodc1.RecordSource = "select * from Student where Sno= " & Text1.Text 
Adodc1.Refresh 
End Sub 当text1输入的数据在表Student中找不到数据时会报错 
(1)列名 ‘text1’无效 
(2)实时错误‘-2147217900 (80040e14)’: 
    对象‘refresh’的方法‘iadodc’失败 
我想实现的是当text1的数据在表中存在时返回true,当不存在时不会出错,只会返回false。 
我想问一下有什么方法能够做到,希望各位高手详细解析一下为什么,谢谢

解决方案 »

  1.   

    Private Sub Command1_Click()
    On Error GoTo ErrHandle
        Adodc1.RecordSource = "select * from Student where Sno= " & Text1.Text
        Adodc1.Refresh
    ErrHandle:
        Exit Sub
    End Sub
      

  2.   

     Adodc1.RecordSource = "select * from Student where Sno= '" & Text1.Text & "'"
      

  3.   

    如果Sno字段是字符字段,用4楼的答复,如果是数值字段则:Adodc1.RecordSource = "select * from Student where Sno= " & Val(Text1.Text) 
      

  4.   

    我想知道的是adodc控件有没有一个方法是用来判断查询的数据是否为空值啊,就像下面的语句一样   
         re.Open str1, conn, adOpenDynamic, adLockOptimistic
            If Not re.BOF Then ‘re.BOF此语句的作用是判断re的结构是否为空,前面加个NOT表示当不为空是为true,为空时为false     可以判断到打开的记录集是否为空,我就是想实现这种效果,但是想用adodc控件实现,希望高手指导下,谢谢
      

  5.   

        If Adodc1.Recordset.RecordCount < 1 Then
            MsgBox ("记录集为空!")
        End If
      

  6.   

    刚刚知道了原来adodc控件也能用EOF的,现在知道了怎么做,谢谢大家