Tex
got r00t?
|
naja, das problem ist nicht ganz einfach zu erklären. hier einfach mal der code: <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>
ich hänge an den link hinten zb ?kat=11 an. und wenn nun das feld rs2.fields("id") auch 11 ist (var y) dann sollte er beim optionsfeld "selected" anhängen. aber er kann die werte einfach nicht vergleichen, obwohl sie genau die selben sind (wenn ich händisch zb if x=11 eingebe, dann gehts. auch if y=11 etc. geht. ich hoffe irgendwer blickt bei dem code durch und kann mir helfen
|
Guest
Deleted User
|
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).
|
Tex
got r00t?
|
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.
|
Tex
got r00t?
|
ok, vergleich in klammer geht schon, löst aber das problem nicht
|
Guest
Deleted User
|
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!
|
Tex
got r00t?
|
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!
|
Guest
Deleted User
|
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! den fixen DIM schon probiert? (zb beide auf string)
|
Tex
got r00t?
|
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
|
Guest
Deleted User
|
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 sag ich ja. *freu*
|