我想取一条SQL语句中字段名和表名的值放到数组中。如:
select frist,second,third from table where frist='***'
把frist,second,third和table放置到数组中,where子句忽略
谢谢各位高手!!!!!!

解决方案 »

  1.   

    dim arr(5) as string
    arr(0) = rs.fields(0).name
    arr(1) = rs.fields(1).name
    arr(2) = rs.fields(2).name
    表名不知道怎么取
      

  2.   

    我只要取这个SQL语句中的相关字段名,并不是要取结果的值啊!!!
      

  3.   

    zgvslch(烟花离落) 正確~~~~
    rs.fields(0).name錶示第一個字段名!
    rs.fields(0).value錶示第一個字段的值!
    不同的!
      

  4.   

    哎!!!!!!!!!!!!!我不是要结果值!!!!!!!!!!!!!!!!!
    我需要把字符串select frist,second,third from table where frist='***'
    截取出来。我并不需要求出结果后才把字段名求出来!!!
      

  5.   

    如果格式变化不大到有可能。用Split函数就可以,
    Private Sub Form_Load()
    Dim arrField, arrTable
    Dim strTemp, strField, strTable As String
    Dim intStar, intEnd As Integer
    strTemp = "select frist,second,third from table where frist='***'"
    intStar = InStr(1, strTemp, "select")
    intEnd = InStr(1, strTemp, "from")
    strField = Mid(strTemp, intStar + 6, intEnd - intStar - 6) ' 6是select的长度
    arrField = Split("frist,second,third", ",")
    strTable = Right(strTemp, intEnd - 4) '4是from的长度
    arrTable = Split(strTable, " ")
    For i = 0 To UBound(arrField)
    Text1.Text = Text1.Text & arrField(i) & "       "
    Next
    Text1.Text = Text1.Text & arrTable(0)
    End Sub
      

  6.   

    那你也可以将SQL的语句写成select frist,second,third from table啊!
    然后用rscon.fields.item(x).name去取出相应的字段名啊!如果你还是觉得麻烦的,倒不如建立多一个表里面就放一些你想要的字段名,那样的话修改或者使用起来都方便,不需要经常对字段名进行修改。
      

  7.   

    楼上的建议有点麻烦,我想在一条SQL语句里面就可以把相关的字段名和表名去出来。
      

  8.   

    这段代码完全可行,只要你的select和from之间中不包含函数
    Dim s1 As String, a As String
        s1 = "select frist,second,third from table where frist='***'"
        a = Trim(Mid(s1, InStr(s1, "select") + 6, InStr(s1, "from") - 8))
        Dim i As Integer, j As Integer
        i = 0
        j = 0
        For k = 1 To Len(a)
            If Mid(a, k, 1) = "," Then j = j + 1
        Next
        Dim s2() As String
        ReDim s2(j) As String
        Do While InStr(a, ",") > 0
           s2(i) = Left(a, InStr(a, ",") - 1)
           a = Right(a, Len(a) - Len(s2(i)) - 1)
           i = i + 1
        Loop
        s2(i) = a
      

  9.   

    简化楼上代码
    Dim s1 As String, a As String
    dim arraystr() as string
        s1 = "select frist,second,third from table where frist='***'"
        a = Trim(Mid(s1, InStr(s1, "select") + 6, InStr(s1, "from") - 8))
       arraystr=split(a,",")