Wow. It’s been a few since I’ve seen classic asp…
This method will not get you eight instances. It will get you as many rows as are returned in your recordset object. If you’re only seeing one, that’s all the recordset is returning.
You can find that out by checking the record count
But if you’re going to continue down the path of learning classic asp (though I would suggest learning something more current - MVC or Core), then you’ll want to get used to using GetRows(). That will return the recordset as a two dimensional array, which is far more efficient.
You’ll also want to get out of the habit of switching back and forth from html and server side. I think this is right but once again, it’s been years…
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "SELECT FirstName, LastName FROM Customers", conn
arrRS = rs.GetRows()
dim maxRows = 7
response.write "<select name=""customer"">"
for i = 0 to uBound(arrRS, 2)
customerName = arrRS(0, i) & " " & arrRS(1, i)
response.write "<option value=""" & customerName & """>" & customer & "</option>"
if i > maxRows then Exit For