在我的数据库中有一个名为student的表。这个表有6行,但我的windows窗体的datagridview显示6个空行。我尝试了几种方法,包括studentdataGridView.AllowUserToAddRows = true/false;
,但没有任何方法可行。它显示空行。
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;
}
}
}
答案 0 :(得分:0)
您发布的上述代码工作正常没有任何问题。
您的学生资产(POCO)课程应为:
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; }
}
并且您的表架构应该是: