c# – 将数据从SQL DataBase表读取到通用集合
发布时间:2020-12-15 03:56:52 所属栏目:百科 来源:网络整理
导读:我想从表中读取所有数据(包含3行),并将所有数据添加到通用集合中.从集合我wana绑定到gridview. 下面显示的代码可以工作,但最后一行在gridview中显示3次.可以帮助我.一个初学者 protected void Page_Load(object sender,EventArgs e){ ListStudent listid = n
我想从表中读取所有数据(包含3行),并将所有数据添加到通用集合中.从集合我wana绑定到gridview.
下面显示的代码可以工作,但最后一行在gridview中显示3次.可以帮助我.一个初学者 protected void Page_Load(object sender,EventArgs e) { List<Student> listid = new List<Student>(); Student stud = new Student(); SqlConnection con = new SqlConnection("........"); string sql = "select * from StudentInfo"; con.Open(); SqlCommand cmd = new SqlCommand(sql,con); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { stud.Studid = Convert.ToInt32(dr["StudId"]); stud.StudName = dr["StudName"].ToString(); stud.StudentDept = dr["StudentDept"].ToString(); listid.Add(stud); } GridView1.DataSource = listid; GridView1.DataBind(); } public class Student { private int studid; public int Studid { get { return studid; } set { studid = value; } } private string studName; public string StudName { get { return studName; } set { studName = value; } } private string studentDept; public string StudentDept { get { return studentDept; } set { studentDept = value; } } 输出如下: 解决方法
你需要在循环中实例化你的对象
否则,您将收集相同的数据 所以代码应该是 protected void Page_Load(object sender,EventArgs e) { List<Student> listid = new List<Student>(); SqlConnection con = new SqlConnection("........"); string sql = "select * from StudentInfo"; con.Open(); SqlCommand cmd = new SqlCommand(sql,con); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Student stud = new Student(); stud.Studid = Convert.ToInt32(dr["StudId"]); stud.StudName = dr["StudName"].ToString(); stud.StudentDept = dr["StudentDept"].ToString(); listid.Add(stud); } GridView1.DataSource = listid; GridView1.DataBind(); } 此外,使用数据读取器或直接打开连接不是一个好习惯 using(SqlConnection con = new SqlConnection("connection string")) { con.Open(); using(SqlCommand cmd = new SqlCommand("SELECT * FROM SomeTable",connection)) { using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader != null) { while (reader.Read()) { //do something } } } // reader closed and disposed up here } // command disposed here } //connection closed and disposed here (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- JSON.NET中使用的默认JsonConverter是什么?
- ios – 视图水平和垂直模糊,布局复杂
- SupeSite6.0.1_X-Space4.0.1聚合Discuz 2.7后,打开空间时报
- ruby-on-rails – 什么是过程/收割机,为什么它不起作用?
- rapidjson的read和write的sample
- 【IIS】修改Metabase.xml文件提升IIS性能
- xml – 我们可以根据XSD中任何其他元素的值使元素成为可选元
- 我可以在$.getJSON函数中使用递归JavaScript函数吗?
- c – 不能将std :: set of iterator中的元素插入到std :: l
- 适用于iPhone / iPhone Retina / iPad / iPad Retina的独立