2012-09-20 40 views
0

我有這個用戶需要通過第一個表單登錄的c#應用程序。如果驗證返回true form2打開。

我想用form1中輸入的相同用戶憑證來維護通過所有這些表單的單個連接。我使用ODP.NET連接到oracle 11g。
以多種形式維護單個數據庫連接

謝謝。

+0

你的問題是什麼? – Otiel

+0

@otiel我從form1連接到數據庫,但我無法使用相同的連接到form2中的數據庫。我需要重新連接。是否有任何方式在C#使這發生? –

+0

正如* Niyoko Yuliawan *在他的回答中指出的那樣,只要完成查詢,就應該關閉SqlConnection。因此,您不必通過所有表單使用單個連接。 – Otiel

回答

2

SQL連接的一個樣本。 NET由connection pool管理。因此,如果您實例化新的連接對象,它將重新使用舊的封閉物理連接。

在Form1

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

在窗口2

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

Form 1和Form使用數據庫

連接池也可用相同的物理連接的Oracle Data Provider

或者你感興趣的Entity Framework

0

創建像 靜態的ConnectionString類,如果你聲明與SqlConnection的屬性靜態類,你可以以任何形式或者任何其它類直接在這裏訪問它是類

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


    }