class DBHelp
{
//连接字符串
private const string connectionString = "server=.;database=MySchool;User Id=sa;Pwd=ok;";
SqlConnection con; #region 创建connection对象
/// <summary>
/// 创建connection对象
/// </summary>
public SqlConnection Con
{
get
{
if (con==null)
{
con = new SqlConnection(connectionString);
}
return con;
}
}
#endregion
}然后我打开数据库连接时,是应该用Con.Open();还是用con.Open();这两者有什么区别?
我现在知道是用Con.Open();但是不知道为什么?按照常理来讲不是应该用con.Open()的吗?各位大神,求解.
{
//连接字符串
private const string connectionString = "server=.;database=MySchool;User Id=sa;Pwd=ok;";
SqlConnection con; #region 创建connection对象
/// <summary>
/// 创建connection对象
/// </summary>
public SqlConnection Con
{
get
{
if (con==null)
{
con = new SqlConnection(connectionString);
}
return con;
}
}
#endregion
}然后我打开数据库连接时,是应该用Con.Open();还是用con.Open();这两者有什么区别?
我现在知道是用Con.Open();但是不知道为什么?按照常理来讲不是应该用con.Open()的吗?各位大神,求解.
解决方案 »
- 免费asp.netcms.sqlite版本分享
- 急求!Winform调用WebService实例。!!在线等,有满意立即结贴。
- C#中的名称空间究竟是什么含义?
- 图片上传 显示不一致
- 关于用C#写个WinForm程序操作Access的问题 高手请进...
- 带Sqlite数据库的winform程序在其他电脑上连接不到数据库
- 关于Windows Service 的问题
- 关于WEB里如何在DATAGRID操作CHECKBOX
- ImageList共用問題
- C#注册事件失败
- Winform界面上有一张照片,单击不同的位置,能够激励不同的事件处理程序。而且能够根据窗体的Resize自适应
- C# 处理大量数据时如何使用内存,报错OutOfMemory
外部用Conn
SqlConnection con = new SqlConnection(字符串);
con.Open();
上面那样封装字段不是多此一举吗,还增加代码量。
get
{
if (con==null)//如果没有实例,创建一个
{
con = new SqlConnection(connectionString);
}
return con; //有的话免了,
}
问题1:con怎么会有实例呢?可能在构造函数里面实例化了。
问题2:con怎么会为null呢?可能在其他方法里面释放了。
结论:该属性保证了这个类的实例中只有一个SqlConnetion的实例。
get
{
if (con==null)//如果没有实例,创建一个
{
con = new SqlConnection(connectionString);
}
return con; //有的话免了,
}
问题1:con怎么会有实例呢?可能在构造函数里面实例化了。
问题2:con怎么会为null呢?可能在其他方法里面释放了。
结论:该属性保证了这个类的实例中只有一个SqlConnetion的实例。