"SELECT * FROM table WHERE ID in (201,202)"
我知道以上语句在vb中是可以执行的,现在的问题是in后面的内容我是用一个数组保存的,如arr(1)=201,arr(2)=202
有没有语句类似于(以下语句在vb是不能执行的)
"SELECT * FROM table WHERE ID in (" & arr & ")"
在vb中直接用数组接在in后面进行查询,因为arr数组可能有很多个变量,全部列出来是不可能的
当然我考虑过用循环,但是用循环的话当数组中有很多个变量时,速度太慢,而且我要做的不只是查询
求指教

解决方案 »

  1.   

    dim arr() as string
    ...
    ...
    "SELECT * FROM table WHERE ID in (" & join(arr,",") & ")"
      

  2.   

    Join函数
          描述返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。语法Join(list[, delimiter])Join函数语法有如下几部分:部分 描述 
    list 必需的。包含被连接子字符串的一维数组。 
    delimiter 可选的。在返回字符串中用于分隔子字符串的字符。如果忽略该项,则使用空格(" ")来分隔子字符串。如果delimiter是零长度字符串(""),则列表中的所有项目都连接在一起,中间没有分隔符。 
      

  3.   

    我的数组里的变量都是integer型的,怎么办?
      

  4.   

    找出最大值和最小值,用Between a and b
      

  5.   

    between?
    数组里的变量不是连续的,用between可以吗
      

  6.   

    between?
    数组里的变量不是连续的,用between可以吗
      

  7.   

    between?
    数组里的变量不是连续的,用between可以吗
      

  8.   

    那还能咋办,定义成string类型不就完了
      

  9.   

    这样试试:
    "SELECT * FROM table WHERE CStr(ID) in (" & join(arr,",") & ")"