tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
604
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Slater Slater ist offline Mitglied Gold
    Registriert seit
    Sep 2002
    Ort
    Bern (CH)
    Beiträge
    223
    Hallo,
    ich habe in einem Schulprojekt eine Datenbankabrage für ein Login geschrieben. Leider gibt es mir immer wieder eine Fehlermeldung aus (Keine Ahnung mehr wie sie heisst -> Schule)
    Das Problem liegt bei der Zeile "int Anzahl = dt.Rows.Count;"! Weiss aber nicht weiter

    Sieht jemand das Problem?

    Slater

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    private void Button1_Click(object sender, System.EventArgs e)
    {
        string Passwort = TextBox3.Text;
        string MD5Passwort = FormsAuthentication.HashPasswordForStoringInConfigFile(Passwort, "md5");
        OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("Datenbank.mdb"));
        OleDbCommand cmd = new OleDbCommand();
        cmd.Connection = conn;
        cmd.CommandText = "SELECT * FROM Personen Where Name='textBox1.Text' AND Vorname='textBox2.Text' AND Passwort='MD5Passwort'";
        DataSet ds = new DataSet();
        cmd.Connection.Open();
        DataTable dt = ds.Tables["Userdaten"];
        int Anzahl = dt.Rows.Count;
        if (Anzahl > 0)
        {
            UserID = Convert.ToInt32(dt.Rows[0]["ID"]);
            Label1.Text = "";
            Session("Login") = true;
            Session("UserID") = UserID;         
            Response.Redirect("WebForm2.aspx");
        }
        else
        {
            Label1.Text = "Login ist fehlgeschlagen";
        }
    }
     
    Letztes Jahr stand meine Firma noch vor dem Abgrund.
    Dieses Jahr haben wir einen Schritt vorwärts gemacht!

  2. #2
    Hilflos05 Hilflos05 ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    10
    Hallo Slater,

    ich glaube, daß der "count"-Befehl mit 0 anfängt zu zählen.

    D.h. befindet sich ein Datensatz in der Tabelle, hat deine Variable

    Anzahl = dt.Rows.Count

    den Wert 0.

    Ist die Tabelle leer hat sie den Wert -1.

    Lasse die folgende if-Abfrage mal auf (Anzahl >= 0) prüfen, dann sollte es funktionieren.
     

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 17.10.10, 14:03
  2. Antworten: 6
    Letzter Beitrag: 05.02.09, 15:20
  3. [C#] Fehler bei aufruf einer .aspx-Site
    Von yellowspam im Forum .NET Web und Kommunikation
    Antworten: 0
    Letzter Beitrag: 14.05.08, 10:06
  4. Antworten: 5
    Letzter Beitrag: 27.06.07, 13:20
  5. Datenbankabfrage Fehler beim Array
    Von StonE12 im Forum PHP
    Antworten: 11
    Letzter Beitrag: 13.09.06, 15:38