以多种形式维护单个数据库连接

时间:2012-09-20 05:38:17

标签: c# oracle11g odp.net

我有这个c#应用程序,用户需要通过第一个表单登录。如果验证返回true,则打开form2
我希望通过所有这些表单维护单个连接,使用与在form1中输入的相同的用户凭据。我正在使用ODP.NET连接到oracle 11g。

感谢。

2 个答案:

答案 0 :(得分:2)

.NET中的SQL连接由connection pool管理。因此,如果您实例化新的连接对象,它将重用旧的封闭物理连接。

in form1

using(var c = new SqlConnection("connectionstring"))
{
     //use connection here
}

in form2

using(var c = new SqlConnection("connectionstring"))
{
    //use connecion here
}

form1和form2使用与数据库相同的物理连接

连接池也适用于Oracle Data Provider

或者您对Entity Framework

感兴趣

答案 1 :(得分:0)

创建一个类似的Static Connectionstring类 如果你声明一个具有Sqlconnection属性的静态类,你可以以任何形式或任何其他类直接访问它,这里是一个类的样本

public static class Connection
    {
        private static SqlConnection sqlconn;
        public static SqlConnection getconnection() {
            if (sqlconn==null)
               sqlconn = new SqlConnection("Connectionsting.");
            return sqlconn;
        }


    }