Combobox mit daten aus db füllen

Luda

Erfahrenes Mitglied
hallo ich habe eine function zur verindung mit der datenbank hergestellt. ich möchte jetzt eine combobox mit dem recordset füllen ich bin neuling mit asp-vb-script. kann mir jemand ein beispiel geben
danke im vorraus.
luda

<select name="auswahl"></select>
 
zuerst stellst du eine verbindung zum (sql) server her.
(ich hab sie rsCombo genannt)
dann machst du eine schleife, mit der die box gefüllt wird.
etwa so:
(jscript)
PHP:
while(!rsCombo.eof) {
  Response.write("<option value='nix'>"+rsCombo.Fields.Item('spalte').value+"</option>");
// spalte steht für den namen der spalte in deiner tabelle
}
}

mfg horusab
ps. ich hab schon gelesen, dass du ein vbscriptler bist, doch da ich jscript um vieles besser finde schreibe auch in dieser sprache. :) ;-)
 
upsa
das würde eine endlosschleife geben ^^
du musst noch movenext einbinden.
das sieht dann so aus:
PHP:
while(!rsCombo.eof) {
  Response.write("<option value='nix'>"+rsCombo.Fields.Item('spalte').value+"</option>");
// spalte steht für den namen der spalte in deiner tabelle
rsCombo.MoveNext();
}

mfg horusab
 
Geht nicht wirklich

Hallöchen,

ich habe das auf vb umgestrickt. dann bekomme ich nur einen wert in der combo , da ich ja die anderen überschreibe :(
cu
 
So sollte es in ASP/vbScript funktionieren:

<%@LANGUAGE="VBSCRIPT" %>
<%
' --- Verbindung zur Datenbank, hier via ODBC DSN oder anpassen

dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN=DeineVerbindung"

' --- Recordset schreiben

Dim RS, sql
sql = "select [FeldID], [FeldInhalt] from [Tabelle]"
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open sql, objConn

' --- Schreiben des Selectfeldes

with response
.write "<form name=""FormularAuswahl"" method=""post"" "
.write "action=""" & Request.ServerVariables("SCRIPT_NAME") & """>"
.write "<select name=""select"">" & vbcrlf

' --- Öffnen der Schleife zur dyn. Ausgabe der Werte in die Optionsfelder

while not rs.eof
.write "<option value=""" & rs("FeldID") & """>" & rs("FeldInhalt") & "</option>" & vbcrlf
rs.movenext
wend
.write "</select>"
.write "<input type=""submit"" name=""Submit"" value=""Auswahl""></form>" & vbcrlf
end with

' --- Recordset schließen

RS.Close
Set RS = Nothing

' -- Verbindung schließen

objConn.close
set objConn = Nothing
%>
 
Zuletzt bearbeitet:
es klappt nur fast!

hallo Luzie,

das klappt nur fast. Denn ich habe in der combo nur den letzten wert. alle anderen werden überschrieben. ?
mfg
luda
 
Zurück