Avatar billede acidduck Nybegynder
07. december 2001 - 13:21 Der er 2 kommentarer og
1 løsning

At sammenligne integers og characters?

Jeg er ved at lave en dropdown menu som efter form submit automatisk skal skifte til det punkt som blev valgt.

Men \"if\" sammenligningen virker ikke - og jeg fatter ikke hvorfor. Jeg sammenligner mellem ID\'et fra databasen og det som blev valgt i <select> boxen.

<select name=\"valgt_id\">   
<%
strSql = \"select * from db order by site asc\"
objRS.open strSql,objConn
  do until objRS.EOF
    strOption = \"<option value=\" & objRS(\"id\")
    if request.form(\"valgt_id\") = objRS(\"id\") then
      strOption=strOption & \" selected\"
        end if
           
strOption=strOption & \">\" & objRS(\"site\") & \"</option>\"       
response.write (strOption)
objRS.movenext
loop
   
%>
</select>

Hvad kan det skyldes? Har det noget at gøre med at ID\'et er et Integer og \"valgt_id\" er et Char ?
Avatar billede cyb Nybegynder
07. december 2001 - 13:26 #1
Prøv:

<select name=\"valgt_id\">   
<%
strSql = \"select * from db order by site asc\"
objRS.open strSql,objConn
  do until objRS.EOF
    strOption = \"<option value=\" & objRS(\"id\")
    if CLng(request.form(\"valgt_id\")) = CLng(objRS(\"id\")) then
      strOption=strOption & \" selected\"
        end if
           
strOption=strOption & \">\" & objRS(\"site\") & \"</option>\"       
response.write (strOption)
objRS.movenext
loop
   
%>
</select>
Avatar billede acidduck Nybegynder
07. december 2001 - 13:30 #2
Yes! Tak skal du ha - jeg var ved at få grå hår af det her. Men hvorfor virkede det?
Avatar billede cyb Nybegynder
07. december 2001 - 13:35 #3
Det er fordi at svaret fra request.form altid er strings og svaret fra dit recordset er den datatype som feltet har i databasen. Du sammenligner altså en steng med et tal og så vil vb sammenligne ascii værdien af request.form med recordsettets integerværdi.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester