System.IndexOutOfRangeException: Cannot find table 0

Dal code

 public DataSet selectlogin(string u_name, string u_password, string u_email, string action)
    {
        SqlConnection con = new SqlConnection(h);
        SqlCommand cmd = new SqlCommand("", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "sp_login";
        cmd.Parameters.AddWithValue("@name", u_name);
        cmd.Parameters.AddWithValue("@email", u_email);
        cmd.Parameters.AddWithValue("@password", u_password);
        cmd.Parameters.AddWithValue("@action", action);
        con.Open();
        cmd.ExecuteNonQuery();

    DataSet ds = new DataSet();
    SqlDataAdapter ad = new SqlDataAdapter(cmd);
    ad.Fill(ds);
    return ds;
    con.Close();
}

Bal-code

 public DataSet selectlogin(string u_name, string u_password, string u_email, string action)
    {
        DataSet ds = new DataSet();
        ds = obj.selectlogin(u_name, u_password, u_email, action);
        return ds;
    }

CS-code

protected void Btn_log(object sender, EventArgs e)
    {
        DataSet ds = new DataSet();

        ds = obj.selectlogin("", TextBox1.Text, TextBox2.Text,"login");

        if (ds.Tables[0].Rows.Count > 0)
        {
            Response.Redirect("dashboard.aspx");
        }


    }

Gespeicherte Prozedur

if(@action='login')

select * from login where u_email=@email and u_pass=@password
  • Möchten Sie vielleicht, um mehr Text zu deinem Problem.
  • Hmm.. schönen code! Ist es ein problem mit dem code? Oder ist es nur um uns zu zeigen, Ihren code?
  • Sieht aus wie Sie nicht über eine Tabelle 0, vielleicht sollte man hinzufügen? Was erwarten Sie von der Veröffentlichung dieser code hier?
  • Was passiert, wenn es keinen user mit der email-Adresse und Passwort zur Verfügung gestellt? Keine Tabellen zurückgegeben, die innerhalb des dataset, so dass Sie nicht verwenden können, eine Tabelle, einen index von null, weil es keinen gibt
InformationsquelleAutor Aakash | 2013-10-03
Schreibe einen Kommentar