永发信息网

关于C#的,提示连接未关闭,因为是初学者,找不到在哪里

答案:2  悬赏:40  手机版
解决时间 2021-02-11 06:06
  • 提问者网友:动次大次蹦擦擦
  • 2021-02-10 09:54
关于C#的,提示连接未关闭,因为是初学者,找不到在哪里
最佳答案
  • 五星知识达人网友:神的生死簿
  • 2021-02-10 11:02
string sql = "select MName from majorinfo";
SqlCommand sqlcom = new SqlCommand(sql, sqlConnection1);
SqlDataReader dr;
this.sqlConnection1.Open(); 打开!!!!!!!!
dr = sqlcom.ExecuteReader();
treeView1.Nodes.Clear();
while (dr.Read())
{
TreeNode node = new TreeNode();
node.Text = dr.GetString(0).ToString();
treeView1.Nodes.Add(node);
this.sqlConnection1.Open(); 又打开 ???????
string sqlnode = "select CID,CName from courseinfo where MName='" + node.Text.Trim() + "' order by CName desc";
sqlcom = new SqlCommand(sqlnode, sqlConnection1);
SqlDataReader drnode = sqlcom.ExecuteReader();
还有,在while里面每次读取数据库中的数据,不是个好主意,数据库i/o开销比较大,一般情况在数据量不是很大的情况下,一次性读取节点到一个数组中,然后while里面对数组中的数据进行add追问该怎么改追答第一个打开的open的连接用完后关闭啊
SqlDataReader dr;
this.sqlConnection1.Open(); 打开!!!!!!!!
dr = sqlcom.ExecuteReader();
treeView1.Nodes.Clear();
sqlConnection1。close();
全部回答
  • 1楼网友:舊物识亽
  • 2021-02-10 11:20
楼上说的很对,你在没有关闭连接的情况下,再次打开,一定会报错的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯