当前位置:
代码迷
>>
SQL
>> 透过反射获取SqlConnection连接池中的连接字符串
详细解决方案
透过反射获取SqlConnection连接池中的连接字符串
热度:
79
发布时间:
2016-05-05 15:16:45.0
通过反射获取SqlConnection连接池中的连接字符串
string constr = "Data Source=.;Initial Catalog=xhc;Integrated Security=True"; //获取类型中的私有成员 PropertyInfo pInfo = typeof(SqlConnection).GetProperty("InnerConnection", BindingFlags.NonPublic | BindingFlags.Instance); object obj1 = null; object obj2 = null; using (SqlConnection con = new SqlConnection(constr)) { con.Open(); //获取第一个con中的InnerConnection属性中的值。 obj1 = pInfo.GetValue(con, null); using (SqlCommand cm = new SqlCommand("select * from TblStudent", con)) { cm.ExecuteNonQuery(); } con.Close(); } Console.WriteLine("===========ok============="); using (SqlConnection con = new SqlConnection(constr)) { con.Open(); //获取第二个con中的InnerConnection属性的值。 obj2 = pInfo.GetValue(con, null); using (SqlCommand cm = new SqlCommand("select * from TblStudent", con)) { cm.ExecuteNonQuery(); } con.Close(); } if (object.ReferenceEquals(obj1, obj2)) { Console.WriteLine("是同一个对象"); } else { Console.WriteLine("不是同一个对象。"); } Console.WriteLine("===========ok============="); Console.ReadKey();
查看全文
相关解决方案
命名空间“System.Data”中不存在类型或命名空间名称“SqlConnection”(是缺少程序集引用吗?),该如何处理
SqlConnection s_conn = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);解决思路
100分,求using(SqlConnection newconn = new SqlConnection()){……}顶用不用newconn.close()方法?
SqlConnection 步骤将取出的值赋给变量
sqlconnection string 的有关问题