Ich bekomme den Fehler noch einmal, dass es keine Zeile gibt, die der SQL-Abfrage entspricht.C# Es gibt keine Zeile an Position 0
Darin heißt es:
Es gibt keine Zeile an Position 0.
Die Punkte, an:
firstnameTxt.Text = dt.Rows[0].ItemArray[1].ToString();
Die folgende mein C# -Code ist.
protected void Page_Load(object sender, EventArgs e)
{
if (Session["New"] != null)
{
redPnl.Visible = false;
UserNameSess.Text += Session["New"].ToString();
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename=C:\Users\Donald\Documents\Visual Studio 2013\Projects\DesktopApplication\DesktopApplication\Student_CB.mdf ;Integrated Security=True");
con.Open();
SqlDataAdapter sda = new SqlDataAdapter("Select Student_Username, Student_FName, Student_SName, Student_Email FROM Student Where [email protected]", con);
sda.SelectCommand.Parameters.Add("@StuUsername", SqlDbType.VarChar).Value = UserNameSess.Text;
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count > 0)
usernameTxt.Text = dt.Rows[0].ItemArray[0].ToString();
firstnameTxt.Text = dt.Rows[0].ItemArray[1].ToString();
surnameTxt.Text = dt.Rows[0].ItemArray[2].ToString();
emailTxt.Text = dt.Rows[0].ItemArray[3].ToString();
dt.Clear();
}
else
{
redPnl.Visible = true;
}
}
Ich habe keine Ahnung, warum es so tut, wie es ehrlich den Wert zurückbringt und es in der Textbox zeigt.
Eine Sache: später auch nur die erste Anweisung nach dem 'if (dt.Rows.Count> 0)' wird sicher sein, aber Sie die Zeilen zugreifen. Umgeben Sie es in Klammern. Aber es ist nicht klar, warum Sie den Fehler erhalten, wenn das wahr ist: _ "als es ehrlich bringt den Wert zurück und zeigt es in der Textbox" _ –