2013-11-28 108 views
0

通常,我使用這個類來創建SQLConnection:類兩個連接

namespace IntraFaz 
{ 
    class Tconex 
    { 
     public static SqlConnection GetConnection() 
     { 
     //string str = "Data Source=SQL-PC;Initial Catalog =ifdcontroladoria3;uid =sa;pwd = admin2012"; 

     string str = "Data Source=300.161.430.110 ;Initial Catalog =Pirulim;uid =sa;pwd = per#3"; 
     SqlConnection con = new SqlConnection(str); 
     con.Open(); 

     return con; 
     } 
    } 
} 

晚了,我調用這個類的形式與此

SqlConnection conec1 = Tconex.GetConnection(); 

創造新的SqlConnection我需要怎麼寫該類獲得兩個distint連接我想要這樣的事情

public static SqlConnection GetConnection() 
{  
    string str = "Data Source=300.161.430.110 ;Initial Catalog =Pirulim;uid =sa;pwd = per#3"; 
    string str2 = "Data Source=300.161.430.112 ;Initial Catalog =Pirulim;uid =sa;pwd = per#4"; 

    SqlConnection con = new SqlConnection(str); 
    con.Open(); 

    SqlConnection con = new SqlConnection(str2); 
    con.Open(); 

    return con; 
} 
+0

爲什麼2需要2個連接字符串? –

回答

1
public static SqlConnection GetConnection() 
{ 

    string str = "Data Source=300.161.430.110 ;Initial Catalog =Pirulim;uid =sa;pwd = per#3"; 


    SqlConnection con = new SqlConnection(str); 
    con.Open(); 

    return con; 
} 

public static SqlConnection GetConnection2() 
{ 

    string str2 = "Data Source=300.161.430.112 ;Initial Catalog =Pirulim;uid =sa;pwd = per#4"; 


    SqlConnection con = new SqlConnection(str2); 
    con.Open(); 


    return con; 
} 
0
public static Tuple<SqlConnection, SqlConnection> GetTwoConnections() 
{ 
    ... 
    SqlConnection con1 = new SqlConnection(str1); 
    SqlConnection con2 = new SqlConnection(str2); 
    con1.Open(); 
    con2.Open(); 

    return Tuple.Create(con1, con2); 
} 

用法:

var cons = GetTwoConnections(); 
using (cons.Item1, cons.Item2) 
{ 
    // use first connection as cons.Item1 and second one as cons.Item2 
} 
0

創建一個類來保存方法的結果的返回。

public class TheseConnectinsHaveThisPurpose 
{ 
    public SqlConnection ThisConnectionHasThisPurpose { get; set; } 

    public SqlConnection ThisConnectionHasThisOtherPurpose { get; set; } 
} 
0
在您連接

唯一的區別是passowrd這樣:

public static SqlConnection GetConnection(string pass) 
    { 
     string str = "Data Source=300.161.430.110 ;Initial Catalog =Pirulim;uid =sa;pwd ="+pass;   
     SqlConnection con = new SqlConnection(str); 
     con.Open();   
     return con; 
    } 

在後來執行,如果其他參數改變(例如用戶ID),您可以將其添加爲自變量,以你的方法...

+0

仔細看看應該是什麼IP地址;-) –

1
public static SqlConnection[] GetConnections() 
{ 
    SqlConnection con1 = new SqlConnection(str1); 
    SqlConnection con2 = new SqlConnection(str2); 
    con1.Open(); 
    con2.Open(); 

    return new SqlConnection[] { con1, con2 }; 
} 
+0

我喜歡這個答案,因爲返回類型是可擴展的(可以添加更多的連接) - 話雖如此,不可能確定哪個連接是哪個(取決於什麼該方法有望返回 - 例如,爲什麼OP需要2個連接?)在連接具有一些顯着特徵的情況下,您需要檢查連接本身,而不是通過方法知道您正在處理的是什麼... I懷疑然而,這不是一個問題的答案,但更多的問題與問題:) – Charleh