SqlConnection by Method
本文关键字:Method by SqlConnection | 更新日期: 2023-09-27 17:57:47
我正在尝试实现一个将提供SqlConnection
的方法,我应该如何实现?
public class DAL
{
public bool dbCon()
{
string comboValue;
try
{
using (SqlConnection sqlConn =
new SqlConnection(@"Data Source =VirtualXP-64805;Initial Catalog=CTS_Demo;Integrated Security=SSPI"))
{
sqlConn.Open();
}
}
catch (SqlException Ex)
{
MessageBox.Show(Ex.ToString());
}
}
}
您的方法应该返回连接对象而不是布尔值,或者您可以定义一个类级连接变量并使用它。
但是当涉及到数据库连接时,尽可能晚地打开它,并尽可能早地关闭它
你可以简单地返回连接对象并在需要的地方打开它,而不是从方法打开连接
public SqlConnection dbCon()
{
return new SqlConnection(@"Data Source =VirtualXP-64805;Initial Catalog=CTS_Demo;Integrated Security=SSPI");
}
然后你在哪里使用它:
using(SqlConnection conn = dbCon())
{
conn.Open();
.... your code
}
或者,您可以去掉该方法,只需使用配置中的连接字符串调用new SqlConnection
。
编辑:
由于您想从方法返回一个打开的连接,您可以执行以下操作,但IMO不是推荐的方法,您必须为每个连接对象手动调用Dispose
,因为您不会在using语句中使用它。
public SqlConnection dbCon()
{
SqlConnection sqlConn;
try
{
sqlConn = new SqlConnection(@"Data Source =VirtualXP-64805;Initial Catalog=CTS_Demo;Integrated Security=SSPI")
}
catch(SqlException)
{
//your exception handling details
sqlConn = null;
}
return sqlConn;
}