Я не знаю, какие поставщики баз данных будут поддерживать массивы.
Что я предпочитаю делать, так это передавать массив как одну длинную строку, а затем использовать пользовательскую функцию Split (). Результат примерно такой:
sql = "SELECT * FROM table WHERE id IN (Split(?))"
set objCmd = Server.CreateObject("ADODB.Command")
myBigString = ConvertArrayToCSV(arrMyArray) ' you have to write this, of course
set objParam = objCmd.Createparameter("@id", 200, 1, length, myBigString)
objCmd.Parameters.Append objParam
Вот обсуждение концепции Split ().
Редактировать
Я исправил вышеприведенное (тип параметра 200, а не 0x2000), и теперь я также вижу, что ADO поддерживает этот синтаксис:
0x2000 OR 129 ' array of strings
0x2000 OR 200 ' array of varchar
Но я не проверял это.