2010-01-09 5 views
1

J'essaie de forcer les utilisateurs à sélectionner uniquement certaines valeurs lors de l'ajout d'un enregistrement. Donc, naturellement, j'utilise une liste déroulante, mais j'aimerais que les options soient remplies par un champ spécifique dans la base de données. Je me suis dit que je ferais un Do/Loop mais apparemment je fais quelque chose de mal.Remplir la liste déroulante de SQL dans ASP classique

Dim dstrSQL 
Dim drs 
    dstrSQL = "SELECT EventID FROM Events" 
    set conn2 = CreateObject("ADODB.Connection") 
    conn2.open CONN_STRING 
    set drs = conn2.execute(dstrSQL) 
    conn2.close: set conn2 = nothing 
Do 
     Response.Write "<option value=" & drs.Fields(0) & " >" & drs.Fields(0) & "</option>" 
     drs.MoveNext 
Loop 

Répondre

5

Cela fait longtemps. Quelque chose comme ceci:

conn2.open CONN_STRING 
set drs = conn2.execute(dstrSQL) 

do while not drs.eof %> 

    <option value="<%= drs.Fields(0) %>" ><%= drs.Fields(0) %></option> 
    <% drs.MoveNext 
Loop 
conn2.close 
set conn2 = nothing %> 
+0

Impressionnant, super rapide! Merci beaucoup =) – maczealot

+0

Je me rappelle avoir besoin d'utiliser la propriété .Value du champ, donc vous auriez drs.Fields (0) .Value à l'intérieur de la boucle. Peut-être tort si ... –

+0

Content de vous aider. :) – mark123

Questions connexes