日期:2014-05-18 浏览次数:21333 次
/**********************************数据库操作类***************************************/ #region 获取学生名单 /// <summary> /// 取得学生名单 /// </summary> public SqlDataReader GetStudentList() { SqlConnection conn = new SqlConnection(connStr); try { conn.Open(); StringBuilder sb = new StringBuilder(); sb.AppendLine("select"); sb.AppendLine(" [StudentNo],"); sb.AppendLine("[StudentName] "); sb.AppendLine("from "); sb.AppendLine("[Student]"); SqlCommand comm = new SqlCommand(sb.ToString(), conn); return comm.ExecuteReader(); } catch (Exception) { Console.WriteLine("数据库操作失败!"); return null; } } /***************************************学员管理类*************************************/ /// <summary> /// 查看学生名单 /// </summary> public void ShowRosterList() { SqlDataReader reader = dbOperate.GetStudentList(); if (reader == null) { Console.WriteLine("出现异常!"); return; } Console.WriteLine("-------------------------------"); Console.WriteLine("学号\t姓名"); Console.WriteLine("-------------------------------"); StringBuilder sb = new StringBuilder(); //循环读取DataReader while (reader.Read()) { sb.AppendFormat("{0}\t{1}",reader["StudentNo"],reader["StudentName"]); Console.WriteLine(sb); sb.Length = 0; } Console.WriteLine("--------------------------------"); //关闭DataReader reader.Close(); }
SqlConnection conn = new SqlConnection(connStr); try { conn.Open(); ... return comm.ExecuteReader(); } catch (Exception) { Console.WriteLine("数据库操作失败!"); return null; } finally { comm.Close(); } }
------解决方案--------------------
一般来说 用完之后就关闭,下次再用又再打开.除非你的软件只有一个人在用,就可以不关闭了,
你可以看一下 微软的数据helper 类 使用using(){} 保证每次用完关闭的
------解决方案--------------------
using(SqlConnection conn = new SqlConnection(connStr)) { //处理逻辑 //推荐使用using }
------解决方案--------------------