现在我有一个数据库aa,里面只有两个字段,分别为id和name;有数千条记录。
现在我想通过TEXT控件用于控制输入的内容,然后通过判断text控件的前3位的内容是否等于数据库aa中的id字段,如果等于就在label标签上显示与该id字段对应的name字段,这要如何实现.
比方说现在数据库aa的记录如下:
id    name
001   xxxxx
002   yyyyy
133   dadaw
342   sfwer
135   gdgdf
865   dgdgd
……
如果我在text控件中输入002……(后面的字符输入什么不作限制),只要前3位输入的字符=数据库aa中id字段里的记录,就在label标签上显示与该id字段对应的name字段,比如这里,label标签上要显示yyyyy。
如果输入135……(后面的字符输入什么不作限制),label标签上就显示gdgdf
等等。
有哪位大侠知道要如何实现这一功能啊!
顺便一提,所用的数据库为SQL2008

解决方案 »

  1.   

    ......看你的数据集, recordset, 可以用filter方法, 也可以另外select一下, 结果都是一样的.
    关键在于, 你对数据库操作和VB使用一点都不知道的话, 该从何说起呢?  你这例子找一本VB入门的书, 数据库部分的例程都会提到的.
      

  2.   

    那个recordset还有filter方法是怎么使用的?
      

  3.   

    本帖最后由 bcrun 于 2012-11-18 11:09:37 编辑
      

  4.   

    这个问题怎么解决啊?看了MSDN还是不懂啊!
    我只是想将text中输入的内容的一部分作为预设的数据库表aa字段中id的查询条件,然后通过command的点击事件,在label标签上显示与此相对的字段name的值。
    有没人把这个的完整代码写出来一下啊?在此先谢谢了!
      

  5.   

    Adodc1.RecordSource = "select * from aa where id=k""select * from aa where id=k"这个肯定不是你的查询语句吧?
    怎么着你也得写成"select * from aa where id='" & k & "'"吧?然后,你用的是textbox内容最为id的前3位,那么 
    "select * from aa where left(id,3)='" & k & "'"才可以吧?或者id不是字符串类型的,是数值类型的,还要转换下吧?
      

  6.   

    不是这样,是textbox内容的前3位作为整个id的字段,另外"select * from aa where id='" & k & "'"
    这种写法都试过了,还是提示同样的错误。。
      

  7.   

    去看看id的数据类型id是什么类型?
      

  8.   

    id_text数据类型"文本"
    id_int数据类型"数组"Private Sub Command1_Click()
    With Adodc1
     .RecordSource = "select * from T1 where id_text>'" & Text1.Text & "'"
      .Refresh
    End With
    End SubPrivate Sub Command2_Click()
    With Adodc1
     .RecordSource = "select * from T1 where id_int>" & Text1.Text
      .Refresh
    End With
    End SubPrivate Sub Command3_Click()
    With Adodc1
     .RecordSource = "select * from T1 where left(cstr(id_int),3)='" & Text1.Text & " '"
      .Refresh
    End With
    End Sub