如何实现对某字段的,复合搜索呢?或许我的表达能力有限 ,我来解释一下我想实现的功能数据库是sql2k 其中我想对某个字段 比如“路名” 实现复合搜索,比如用vb做一个窗体 里面有textbox 我输入 永嘉路 淮海路 浙江中路这样 就把名字叫永嘉路、淮海路、浙江中路的相关数据 均搜索出来 可以吗?
其实就是等于把 对这个字段的 几次输入 复合叠加在一起 显示出来 “永嘉路 淮海路 浙江中路” 这中间是空格

解决方案 »

  1.   


    Select * From T1 Where 路名 in (永嘉路,淮海路,浙江中路)
      

  2.   

    没有这么智能的查法.
    只可以用like.
    另外,提供一个方法给你:
    先用split函数将textbox中的字符存到一个数组,将这些数组元素插入到一张临时表;
    一般我用table类型,DECLARE @t TABLE(col VARCHAR(20))(SQL Server)
    然后用in语句联接这个临时表就行了.
      

  3.   


    Dim sCmd As String
        Text1.Text = "ÓÀ¼Î· »´º£Â· Õã½­Öз"
        Text1.Text = Replace(Text1.Text, " ", ",")
        sCmd = "Select * From T1 Where Â·Ãû in (" & Text1.Text & ")"
      

  4.   

    Dim sCmd As String
        Text1.Text = "永嘉路 淮海路 浙江中路"
        Text1.Text = Replace(Text1.Text, " ", ",")
        sCmd = "Select * From T1 Where 路名 in (" & Text1.Text & ")"
      

  5.   

    这个 Replace(Text1.Text, " ", ",") 是什么意思啊 
      

  6.   

    Replace
    vt. 
    1. 取代, 代替; 更换, 替换, 更新2. 把…放回原位3. (用…)替换;(以…)接替 所以Replace(Text1.Text, " ", ",") 这句话的意思就是用","替换Text1.text中的" "
      

  7.   


    可是问题又来了 这个in 语句括号里面的字段名 都要加“''” 比如这样的where 区域 in('松江','奉贤')这个怎么转换呢
      

  8.   

    Private Sub Form_Load()
    Dim sCmd As String
        Text1.Text = "永嘉路 淮海路 浙江中路"
        Text1.Text = "'" & Text1.Text & "'"
        Text1.Text = Replace(Text1.Text, " ", "',")
        sCmd = "Select * From T1 Where 路名 in (" & Text1.Text & ")"End Sub