Dropdownfeld füllt sich nicht
Stefan
- asp.net
0 Hans-Peter Rieger0 Stefan
0 Odium0 Stefan0 Odium0 Frank aus Ulm0 Stefan
0 Frank aus Ulm
Hallo,
ich habe folgenden Code in ASP:
<%
sqlstring = "Select * From finger WHERE del='no' order by finger"
exec = conn.Execute(sqlstring)
finger = exec ("finger")+""
Do while not exec.EOF
%>
<OPTION><% =finger %></option>
<%
rs.MoveNext
loop
rs.close
%>
Mit einer INC Datei öffne ich die Datenbank:
<%
set rs = Server.CreateObject("ADODB.Connection")
rs.provider = "Microsoft.Jet.OLEDB.4.0"
rs.open("f:\web_app\xxx\xxx2\datenbank.MDB")
%>
Allerdings mein Dropdownfeld will sich nicht befüllen. Was mache ich falsch? Vielen Dank für euere Hilfe.
mfg Stefan
Hi stefan,
und was tut es statt dessen ?
Soweit ich Dein SQL-String verstehe, ist "finger" eine Tabelle. In Deinem Form scheint es sich eher um ein Feld zu handeln.
Vielleicht siehst Du Dir das noch mal an
Ciao
Hans-Peter
Hallo Hans-Peter,
die Tabelle heißt finger und das Feld ebenfalls. Könnte es deswegen ein Problem geben?
Hallo,
Tabellen und Felder sollten Unterschiedliche Namen haben, wie Hans-Peter Rieger schon vorgeschlagen hatte...
dann:
finger = exec ("finger")+""
Do while not exec.EOF
sollte in der reihenfolge vertauscht werden, sonst taucht der 1. datensatz doppelt auf oder bestimmte server reagieren ärgerlich...
und was genau soll: finger = exec ("finger")+"" bewirken?
du willst was dranhängen, aber dieses ist leer ""
Odium
Hallo,
Tabellen und Felder sollten Unterschiedliche Namen haben, wie Hans-Peter Rieger schon vorgeschlagen hatte...
--> Habe die Tabellen umbenannt Tabelle = finger_tbl
--> Tabelle haießt weiterhin nur "finger"
finger = exec ("finger")+""
Do while not exec.EOF
--> Habe ich auch getauscht
sollte in der reihenfolge vertauscht werden, sonst taucht der 1. datensatz doppelt auf oder bestimmte server reagieren ärgerlich... und was genau soll: finger = exec ("finger")+"" bewirken?
--> Sorry, das hatte ich vergessen. Da hatte ich nur etwas ausprobiert und dann +"" stehen lassen.
du willst was dranhängen, aber dieses ist leer ""
Odium
--> Jetzt sieht es also so aus:
<%
sqlstring = "Select * From finger_tbl WHERE del='no' order by finger"
do while not exec.EOF
exec = conn.Execute(sqlstring)
finger = exec ("finger")%>
<OPTION><% =finger %></option>
<%
suchliste.MoveNext
loop
rs.close
%>
--> Nur leider funktioniert immer noch nichts. Ich bin am Ende :-(
Hallo,
<%
sqlstring = "Select * From finger_tbl WHERE del='no' order by finger"
do while not exec.EOF
exec = conn.Execute(sqlstring)
diese beiden zeilen müssen vertauscht werden... erst die schleife einleiten und dann das recordset anlegen auf welches du dich beziehst geht nicht...
set rs = conn.execute(sqlstring)
<OPTION><% response.write rs("finger") %></option>
<%
suchliste.MoveNext
wieso suchliste dein recorset heißt exec(diesen namen nicht verwenden)
loop
rs.close
Odium
Hi, hallo
auch das wird nicht viel weiterhelfen ... zumal ich auch glaube, das der nette Stefan gar nicht mehr mitliest ... aber fröhlich immer aufs neue postet
"conn" ist nicht definiert, es soll die DB Verbindung sein, aber diese hat er ja auf "rs" gesetzt, laut seinem Include etc
Tschau, tschüß,
Frank
Das heißt doch nicht, das ich deswegen nichts mehr lese, ich dachte halt, dass ich schneller Hilfe bekomme, wenn eine Nachricht wieder weiter oben steht! Es war halt wirklich dringend!
Und jetzt wird ständig darauf rumgehackt!
Aber ich habe es dank euerer Hilfe mitlerweile gelöst und bedanke mich auch dafür.
Hi, hallo
<%
sqlstring = "Select * From finger WHERE del='no' order by finger"
exec = conn.Execute(sqlstring)finger = exec ("finger")+""
Do while not exec.EOF
%>
<OPTION><% =finger %></option>
<%
rs.MoveNext
loop
rs.close
%>Mit einer INC Datei öffne ich die Datenbank:
<%
set rs = Server.CreateObject("ADODB.Connection")
rs.provider = "Microsoft.Jet.OLEDB.4.0"
rs.open("f:\web_app\xxx\xxx2\datenbank.MDB")
%>
conn != rs
ich empfehle dir, vor dem Programmieren ersteinmal Namenskonventionen zu machen! versuche dir bitte soetwas in der Art anzugewöhnen:
sql_abfrage1 = "SELECT [bla bla bla] From tabelle"
set rs_abfrage1 = verbindung.execute(sql_abfrage1)
"rs" sollte typischerweise für Recordset stehen, wennschon, du nimmst es für eine Verbindung??!!
"conn" ist bei dir nirgendwo instanziert
mit "exec" wäre ich sehr vorsichtig, das klingt mir sehr nah in reservierten Wörtern
was soll exec("finger")+"" bewirken?
du solltest auch die angelegten Objekte, Recordset (welches durch .execute(sqlstring) entsteht) und die Verbindung, wieder auf nothing setzen nach dem schließen
Tschau, tschüß,
Frank