2016-09-02 3 views
1

in meiner Datenbank gibt es eine Tabelle namens Student. Diese Tabelle hat 6 Zeilen, aber Datagridview meiner Windows Form zeigt 6 leere Zeilen. Ich habe mehrere Möglichkeiten einschließlich studentdataGridView.AllowUserToAddRows = true/false; versucht, aber nichts funktioniert. Es zeigt leere Zeilen.datagridview zeigt leere Zeilen in Windows Form

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace varsityProject 
{ 
    public partial class report : Form 
    { 
     public report() 
     { 
      InitializeComponent(); 
     } 

     private void report_Load(object sender, EventArgs e) 
     { 
      string connectionString = @"Server=.\SQLEXPRESS; Database = varsityproject; integrated Security = true"; 
      SqlConnection connection = new SqlConnection(connectionString); 
      string query = "SELECT * FROM student"; 
      SqlCommand command = new SqlCommand(query, connection); 
      connection.Open(); 

      SqlDataReader reader = command.ExecuteReader(); 

      List<students> stu = new List<students>(); 
      students student2 = new students(); 

      while (reader.Read()) 
      { 
       student2.id = (int)reader["id"]; 
       student2.firstname = reader["firstname"].ToString(); 
       student2.lastname = reader["lastname"].ToString(); 
       student2.program = reader["program"].ToString(); 
       student2.birthdate = reader["birthdate"].ToString(); 
       student2.fathersname = reader["fathersname"].ToString(); 
       student2.mothersname = reader["mothersname"].ToString(); 
       student2.presentaddress = reader["presentaddress"].ToString(); 
       student2.permanentaddress = reader["permanentaddress"].ToString(); 
       stu.Add(student2); 
      } 
      reader.Close(); 
      connection.Close(); 
      studentdataGridView.DataSource = stu; 
     } 
    } 
} 
+3

* 1) * Verschieben 'Studenten student2 = neue Studenten() ; 'in die Schleife. * 2) * Share Code von 'Studenten' mit uns. * 3) * Das Laden von Daten mit einem 'SqlDataAdapter' ist einfacher, dann können Sie Daten zu einer' List 'formatieren, wenn Sie möchten. –

+0

Haben Sie überprüft, dass Sie eine Verbindung mit der SQL-Datenbank herstellen können –

+0

Ja, Mysql-Datenbankverbindung ist in Ordnung – anasbiswas

Antwort

0

Der obige Code, den Sie ohne Probleme feinen Beiträge geschrieben haben zu arbeiten.

Ihre Schüler Eigenschaften (POCO) Klasse sein sollte:

public class students 
{ 
    public int id { get; set; } 
    public string firstname { get; set; } 
    public string lastname { get; set; } 
    public string program { get; set; } 
    public string birthdate { get; set; } 
    public string fathersname { get; set; } 
    public string mothersname { get; set; } 
    public string presentaddress { get; set; } 
    public string permanentaddress { get; set; } 
} 

und Ihr Tabellenschema sollte sein:

enter image description here

Verwandte Themen