日期:2014-05-18  浏览次数:20782 次

请问如何在C SHARP中断开数据库联接?
在C   SHARP中写了一个联接到数据库的程序.当没有按下button时,在企业管理器中的sql的当前活动中没有找到,数据联接,当按下button时,再在后台去看,发现出现了联接
并且处理sleep状态.

问题是我所有的数据库操作都在button的函数体里,并且没有定义全局的数据联接器,
当这个button函数执行后,那么在这个程序内的所有对象都应该析构.这其中也应该包括SqlConnect对象.
在VB6中,在一个函数体定义的记录集,和联接器,一但函数执行完后,再到后台去看,没有发现任何联接,即使是刷新也没有出现,就象从来没有联接过一样.
不知c   sharp为何不行.如果行,怎么样才能断开呢?(执行close()方法也不能断开)

thanks

------解决方案--------------------
/// <summary>
/// 执行查询语句,返回OleDbDataReader
/// </summary>
/// <param name= "strSQL "> </param>
/// <returns> </returns>
public OleDbDataReader ExecuteReader(string strSQL)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand cmd = new OleDbCommand(strSQL, connection);
OleDbDataReader myReader;
try
{
connection.Open();
myReader = cmd.ExecuteReader();
return myReader;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}