代码如下:public class CommSqlConnecton
{
public string GetSqlString()
{
string SqlString = "Data Source=CCC;Initial Catalog=BiosCopyRoom;User ID=123456;PWD=123456";
return SqlString;
} public string SQLs
{
get { return GetSqlString(); }
} public SqlConnection SqlCon
{
get { return GetSqlConnection(); }
} public SqlConnection GetSqlConnection()
{
SqlConnection Con = new SqlConnection(SQLs);
if (Con.State == ConnectionState.Closed)
{
Con.Open();
}
return Con;
} }在程序中new了一个实例之后,怎样关掉那个实例的连接呢????
{
public string GetSqlString()
{
string SqlString = "Data Source=CCC;Initial Catalog=BiosCopyRoom;User ID=123456;PWD=123456";
return SqlString;
} public string SQLs
{
get { return GetSqlString(); }
} public SqlConnection SqlCon
{
get { return GetSqlConnection(); }
} public SqlConnection GetSqlConnection()
{
SqlConnection Con = new SqlConnection(SQLs);
if (Con.State == ConnectionState.Closed)
{
Con.Open();
}
return Con;
} }在程序中new了一个实例之后,怎样关掉那个实例的连接呢????
解决方案 »
- C# 控件中,当鼠标指向控件时,显示提示文本的属性是哪个?.如VB中控件的ToolTipText属性一样
- 求救个问题,关于如何规范存储过程的命名的?
- 求Mutex()的相关实例或者用法?
- for语句初始化问题
- 一个刷卡的函数为什么总执行两回
- 未将对象引用设置到对象的实例
- 问一个高难的向数据库插入记录的问题
- 新手提问:如何将dataGrid中的一列数据累加后显示在下一行或文本框中?
- 【高分】在Windows Form的DataGrid中,使得符合某些条件的列的代码显示为特殊颜色,应该如何实现?
- 在#中如何把 string类型转换成 int类型 ,我是新手,还不时很明白,谢谢!
- [紧急求助]c# winform程序 RDLC报表问题!!! 在线等待~~~~~~~~~~~~~
- js调用后台服务端方法
{
SqlConnection Con = new SqlConnection(SQLs);
return Con;
}
或者实现让你的这个类实现一下IDisposable接口。用的时候用using
{
public string GetSqlString()
{
string SqlString = "Data Source=CCC;Initial Catalog=BiosCopyRoom;User ID=123456;PWD=123456";
return SqlString;
} public string SQLs
{
get { return GetSqlString(); }
} public SqlConnection SqlCon
{
get { return GetSqlConnection(); }
} public SqlConnection GetSqlConnection()
{
SqlConnection Con = new SqlConnection(SQLs);
if (Con.State == ConnectionState.Closed)
{
Con.Open();
}
return Con;
}public void Dispose()
{
}public void Close()
{
if(Con != null)
{
Con.Close();
}}
}使用时
using (CommSqlConnecton commSql= new CommSqlConnecton())
{
写你的连接操作的代码
}
或者
CommSqlConnecton commSql= new CommSqlConnecton();
使用连接
最后调用
commSql.Close();
写个方法 con.close()
{
Close();
}
不是跳过了作用域了???如果连续两次执行SqlConnection Con = new SqlConnection(SQLs); 会有两个Con连接吗?还是只有一个,执行的时候会自动判断,如果有了Con连接存在就不再建立新的了???
要么在调用的方法中提供开关数据库,要么将你的代码的
SqlConnection Con
声明成全局的,然后在CommSqlConnecton中在添加一个数据库开关方法
{
get { return GetSqlConnection(); }
}
//close
public static void CloseDBConnection()
{
if (SqlCon!= null)
{
SqlCon.Close();
SqlCon.Dispose();
}
}
{
get { return GetSqlConnection(); }
}
//close
public static void CloseDBConnection()
{
if (SqlCon!= null)
{
SqlCon.Close();
SqlCon.Dispose();
}
}
public SqlConnection GetSqlConnection()
{
SqlConnection Con = new SqlConnection(SQLs);
if (_sFlagCon && Con.State == ConnectionState.Closed)
{
Con.Open();
}
else
{
Con.Close();
}
return Con;
}
private bool _sFlagCon=true; public bool sFlagCon
{
get { return _sFlagCon; } set { _sFlagCon = value; }
}但是我不明白上面的首先 CommSqlConnection myCon=new CommSqlConnection();//第一次
然后,myCon.sFlagCon=false;
myCon.GetSqlConnection();//第二次
這樣操作后,開始新建的myCon是不是被關閉了;
還是說根本就沒有關閉,而只是關閉了第二次新建的myCon連接????
SqlConnection Con = new SqlConnection(SQLs);//這句被執行了兩次。
{ private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
connection = new SqlConnection(connectionString);
if (connection == null)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
public static int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
}