URL: https://www.overclockers.at/coding-stuff/asp_problem_16615/page_1 - zur Vollversion wechseln!
naja, das problem ist nicht ganz einfach zu erklären. hier einfach mal der code:
Code: PHP<select name="kategorie"> <% Set conn = Server.CreateObject("ADODB.Connection") conn.open "w00308282_eder","","" Set rs2 = Server.CreateObject("ADODB.Recordset") sql = "Select * from linkkategorien" Set rs2 = conn.Execute(sql) if rs2.Eof then else rs2.MoveFirst x = request.querystring ("kat") Do Until rs2.Eof y = rs2.fields("id") %> <option value='<% response.write rs2.Fields("id") %>' <% if x = y then response.write "selected" end if %>><% response.write rs2.Fields("kategorie") %></option> <% rs2.MoveNext Loop end if %> </select>
als erstes würd ich mal den vergleich in eine klammer setzen.
zweitens würd ich mal einfach ein
response.write "x= " & x & vbNewLine
und
response.write "y= " & y & vbNewLine
machen, damit du siehst, was in den zwei variablen wirklich drinnen steht.
weiters ersetze das "select *" durch ein "select id", damit du sicher bist, dass er da die ID heraussucht (ist auch performanter, falls du in dieser query keine anderen werte brauchst).
vergleich in eine klammer geht bei asp imho nicht.
x und y haben die richtigen werte. hab' ich schon getestet.
ich brauche in der query auch das feld kategorie und mehr sind in der db eh nicht vorhanden.
ok, vergleich in klammer geht schon, löst aber das problem nicht
wennst mal eine "gscheite" sprache kannst, wirst keine vergleiche ohne klammer mehr machen
dann DIMme mal die variablen fix auf einen typ. weil so scheint die eine int zu werden und die andere str/var -> kannst sie nimmer vergleichen.
im extremen fall musst halt einen cast auf einen typ machen und dann erst vergleichen.
edit: implizite deklaration suckz - hast nie eine ahnung, was das jetzt wirklich für ein typ ist.
"option explicit" rult!
ich weiß eh, dass normalerweise ein vergleich in klammern gehört (java, c, php, javascript etc.) nur ich habe bei sämtlichen asp-tutorials bisher den vergleich immer ohne klammern gesehen.
ps: asp suxx!
Zitat von Texich weiß eh, dass normalerweise ein vergleich in klammern gehört (java, c, php, javascript etc.) nur ich habe bei sämtlichen asp-tutorials bisher den vergleich immer ohne klammern gesehen.
ps: asp suxx!
thx, ich hab' jetzt das ganze mit
x = int(request.querystring ("kat"))
y = int(rs2.fields("id"))
in einen integer wert umgewandelt und jetzt funzt es
Zitat von Texthx, ich hab' jetzt das ganze mit
x = int(request.querystring ("kat"))
y = int(rs2.fields("id"))
in einen integer wert umgewandelt und jetzt funzt es
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025