读书人

关于数据库连接的有关问题 求大神给

发布时间: 2013-08-29 10:33:01 作者: rapoo

关于数据库连接的问题 ,求大神给解答
我用.net3.5 做C# WINFORM,数据库是SQL2005


SqlConnection conn = new SqlConnection("链接字符串");
conn.Open(); //打开之后我去数据库的活动监视器看,看到多了一个进程是我刚刚建立的连接
conn.Close(); //问题出在这里,我执行了关闭,但是那个进程却没有结束,
//最后我点右上角X把程序关闭,数据库才结束这个进程。


然后我有这样写

qlConnection conn = new SqlConnection("链接字符串");
conn.Open();
qlConnection conn1 = new SqlConnection("链接字符串");
conn1.Open(); //去SQL2005进程看就多了两条,一共2个进程了,
//但是执行close()这两个进程一个也没有关闭



上面是第一个问题,想不明白求解答
----------------------------------

[解决办法]
前边的问题,请了解连接池的机制先。


引用:
还有个问题上面没写完,

SqlConnection conn = new SqlConnection("链接字符串");
SqlCommond cmd = SqlCommond cmd("SQL语句",conn);
Adpter ap = new Adpter(cmd);
DataTable dt = new DataTable();
ap.fill(dt); //问题是我这段里并没有打开CONN.OPEN,为什么结果dt里有数据呢,按说应该没



http://bbs.csdn.net/topics/390535249?page=1#post-395197282
[解决办法]
Quote: 引用:

还有个问题上面没写完,

SqlConnection conn = new SqlConnection("链接字符串");
SqlCommond cmd = SqlCommond cmd("SQL语句",conn);
Adpter ap = new Adpter(cmd);
DataTable dt = new DataTable();
ap.fill(dt); //问题是我这段里并没有打开CONN.OPEN,为什么结果dt里有数据呢,按说应该没

[/quote如果调用SqlDataAdapter的Fill方法,并且其SelectCommand属性的SqlConnection是关闭状态,则SqlDataAdapter会自动打开它,然后提交查询,获取结果,最后关闭连接。如果在调用Fill方法前,SqlConnection是打开的,则查询执行完毕后,SqlConnection还将是打开的,也就是说SqlDataAdapter会保证SqlConnection的状态恢复到原来的情形。

读书人网 >C#

热点推荐