2017-09-20 2 views
-2

Ich möchte Student ID aus der Datenbank abrufen. Hier ist mein Code, den ich versucht habe, aber es zeigt nichts an. Dank ...So rufen Sie Daten aus der Datenbank in Etikett

protected void Button2_Click(object sender, EventArgs e) 
{ 

     SqlConnection con = new SqlConnection("Data Source=DESKTOP-Q69PRF4;Initial Catalog=new;Integrated Security=True"); 


     if (con.State == ConnectionState.Open) 
     { 
      con.Close(); 
     } 
     con.Open(); 
     string str = "select * from StRecords where StID='" + Session["login"] + "'"; 
     SqlCommand com = new SqlCommand(str, con); 
     SqlDataAdapter da = new SqlDataAdapter(com); 
     DataSet ds = new DataSet(); 
    DataTable dt = new DataTable(); 
     da.Fill(dt); 
    if (dt.Rows.Count > 0) 
    { 
     Label11.Text = dt.Rows[0]["StID"].ToString(); 

    } 


    } 
+0

Sie führen den Befehl try nicht aus: SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) {} –

+0

@RadinGospodinov 'da.Fill (dt);' – fubo

+0

Können Sie Ihren Code debuggen? Bitte stellen Sie sicher, dass Ihre 'Session [" Login "]' einen gewissen Wert haben sollte. – mmushtaq

Antwort

1

Wenn Sie nur StudentId aus der Datenbank zu nehmen, dann wählen Sie einfach die Spalte und ExecuteScalar Eigenschaft verwenden.

-Code

protected void Button2_Click(object sender, EventArgs e) 
{ 
    using (SqlConnection con = new SqlConnection("Data Source=DESKTOP-Q69PRF4;Initial Catalog=new;Integrated Security=True")) 
    { 
     con.Open(); 
     string str = "select [StID] from StRecords where StID = @stdId;"; 
     using (SqlCommand com = new SqlCommand(str, con)) 
     { 
      com.Parameters.AddWithValue("@stdId", Session["login"]); 
      Label11.Text = com.ExecuteScalar().ToString(); 
     } 
    } 
} 

Verwenden Sie auch immer Parameter stattdessen den Wert in einfache Anführungszeichen vorbei SQL-Injection-Angriff zu vermeiden.

Versuchen Sie auch, die Verbindungszeichenfolge in Web.Config Datei zu geben.

+0

@fubo: Ja, ich stimme Ihnen zu .. – Wanderer

+0

es gibt einen Fehler. "Objektreferenz nicht auf eine Instanz eines Objekts festgelegt" –

+1

@hirawaseem In diesem Fall wird kein Wert zurückgegeben - Sie sollten debuggen und prüfen, ob 'Session [" login "]' einen gültigen Wert hat und dieser Wert auch in Ihrer Datenbank vorhanden ist – fubo

Verwandte Themen