david: warum gehts nicht?

hallo

habe eine datenbank mit benutzer die eine spalte loginname und passwort enthält... loginname erlaubt keine duplikate...

also... ein formular schickt die daten an eine script... das soll nun kontrollieren ob die beiden werte stimmen...

CN = "SELECT * FROM benutzer WHERE Loginname = """ & logname & """"

das ist die datenbank verbindung.. da ist das erste problem.. er findet den loginnamen nicht... ist aber vorhanden... habe logname mit response.write überprüft.. stimmt... geht aber nicht.. warum? ... was falsch?

on error resume next .... fehler abfangen.. falls loginname nicht vorhanden... redirect

falls kein fehler abfrage ob passwort das mittels formular übermittelt wurde stimmt... wenn ja redirect sonst anderer redirect...

klappt alles nicht.. nichts klappt.. verstehe nicht ganz woran das liegt.. hab das schon oft gemacht.. irgendwo ist der fehler... wo? ... liegt es am on error resume next? ...

  1. Servus

    CN = "SELECT * FROM benutzer WHERE Loginname = """ & logname & """"

    CN = "SELECT * FROM benutzer WHERE Loginname = '" & logname & "';"

    Das ist zumindest schon mal richtiger!

    bydey

  2. Hi,

    warum musst du erst dem System die Arbeit aufbürden, einen Fehler zu begehen, den er dann sowieso übergehen soll. Und vor allem welchen Fehler fängst du ab? Das Zugreifen auf ein Feldobjekt des Recordsets, obwohl Recordset.EOF = True. Warum überprüfst du nicht diesen Zustand .eof ?? Der tritt nämlich auf, wenn die Abfrage kein Ergebnis bringt, ergo existiert der logname nicht.

    Punkt 2: der logname stimmt vielleicht, aber das läßt sich nicht auf das ganze SQL-Statement übertragen. Laß dir also nochmal das komplette SQL vor der Ausführung anzeigen und probiere das Statement dann vielleich auch mal direkt an der DB aus.

    daraus folgt Punkt 3:
    Zum Deklarieren von Stringwerten in SQL-Statements sollte man besser die Hochkommas (') benutzen.

    Wenn du das SQL zusammengebaut hast und dir anzeigen läßt und dann direkt mal in der DB ausführst (Access-Abfrage->SQL) dann sollte es eigentlich auch vom ASP-Script aus funktionieren.

    Gruß, Frank