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