28. marts 2002 - 19:50Der er
9 kommentarer og 1 løsning
if-bet. tekststreng fra <form> sammmenlignet m tekst fra accessDB
Jeg henter Brugernavn og Password fra en form via Request.Form(... og gennemløber databasen 'ecom' for at se om der er en person med det pågældende brugernavn. Jeg godt kan udskrive både variablen 'Bruger' og 'brugerN', men problemet er at i if-betingelse fungere det ikke - "if(brugerN == Bruger)". Jeg håber der er en der kan hjælpe mig. Her er koden.
Variablene skal sikkert trimmes for blanke tegn ellers er der et problem med store og små bogstaver. Jeg bruger VB og kender ikke kommandoerne til det. I VB ville man skrive: if(LCase(Trim(brugerN)) == LCase(Trim(Bruger))
Er det ikke bedre at lade Databasen finde brugeren for dig. ?
res = connection.execute("SELECT * FROM forfatter WHERE brugernavn=" + Bruger); if (!res.EOF){ Response.write(res.Fields("brugernavn") + " " + res.Fields("password") +"<br>"); } else { // Findes ikke }
Men det gør den ikke. Et jeg får fejl i sql-sætningen, derudover kan jeg ikke få det til at virke med if(!res.EOF). Hvad siger den sætning. Kan den anvendes i en if-konstruktion. Jeg syntes det er nogle gode forslag men det virker ikke, håber du ikke er blvet trat af at se på problemet. Jscript er scriptsprog fra Microsoft, mens JavaScript er fra Netscape.
hej coltau Måske var jeg en smule trat igår. Her en undskyldning for ikke at acceptere dit sidste forslag. Hvordan giver jeg dig nu point, jeg er ny og det er første gang jeg spørger om hjælp ?. Dit sidste kode forslag virker nemlig, hvis sql-sætningen ændres til feks:
res = connection.execute("select * from forfatter where forfatter.brugernavn = '" + Request.Form("Bnavn") + "'");
Kan du hjælp med if(!res.EOF) - jeg forstår ikke testen. Siger den at, hvis der er en record i sætte så udfør eller hvad ?
if(!res.EOF) Hvis(if) ikke(!) slut på fil(res.EOF)
Hvis udtrækket er tomt vil EOF være == true ellers vil EOF være == false.
Den anvendes også til at gennemløbe et recordset som i dit eget eksempel hvor den hænger sammen med res.MoveNext, som flytter pegepinden til næste record. Når pegepinden står på sidste record og du udføre linien: res.MoveNext får du ikke en ny record - men res.EOF skifter fra false til true og while-løkken slutter.
Håber det giver lidt mening. Jeg aner ikke hvordan man giver point - men det er noget med at vælge et svar og så lukke. ?
PS. Du skrev: "Jscript er scriptsprog fra Microsoft, mens JavaScript er fra Netscape" Jeg fandt ud af at det er ligegyldig om man anvender <% @Language = JScript %> eller <% @Language = JavaScript %> Det giver samme resultat.
Synes godt om
Ny brugerNybegynder
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.