0

我想知道是否有人可以帮助我。

我有一个像这样的数组

fileArray = '2612(25).jpg', '2012(15).jpg', '2012(31).jpg', '2012(21).jpg', '2012(58).jpg'

现在我有以下代码。

Set DBConn = CreateObject("ADODB.Connection")
DBConn.Open strOLEDBString, strODBCUser, strODBCPass

SQL = "SELECT p, sum(vote) as likes FROM vote WHERE p in (" & fileArray & ") GROUP BY p ORDER BY sum(vote) desc"

Set rs = DBConn.Execute(SQL)

If rs.eof Then
    HTMLTable = HTMLTable & " Nothing returned"
Else 
    HTMLTable = HTMLTable & rs("p")
End If

结果只显示数组中的最后一个文件名,它应该显示所有文件名。

4

2 回答 2

1

您需要通过 ADO Recordset 循环获取所有记录:

...
Else
  Do While Not rs.eof
    HTMLTable = HTMLTable & "<tr><td>" & rs("p") & "</td></tr>"
    rs.MoveNext
  Loop
End If
于 2013-06-13T03:01:55.407 回答
0

你需要 "" 在你的 filearray 语句周围。

fileArray = "'2612(25).jpg', '2012(15).jpg', '2012(31).jpg', '2012(21).jpg', '2012(58).jpg'"
于 2013-06-13T03:17:20.860 回答