2012-04-02 79 views
15

我有一個連接字符串是這樣的:從連接字符串獲取用戶名和密碼的正確方法?

"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200" 

如何獲得各種數據庫參數出來的嗎?我可以得到這樣的數據庫名稱和服務器:

serverName = conObject.DataSource; 
dbName = conObject.Database; 

我需要用戶名和密碼以及類似的。在MySqlConnection對象上沒有設置屬性。

目前我不喜歡這樣寫道:

public static void GetDatabaseParameters(string connectionString, out string serverName, out string dbName, out string userName, out string password) 
{ 
    Match m = Regex.Match(connectionString, "SERVER=(.*?);DATABASE=(.*?);UID=(.*?);PASSWORD=(.*?);.*"); 

    //serverName = m.Groups[1].Value; 
    //dbName = m.Groups[2].Value; 
    userName = m.Groups[3].Value; 
    password = m.Groups[4].Value; 
} 

是否有一個公認的做法在這裏嗎?

回答

39

您可以使用SqlConnectionStringBuilder

string conString = "SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"; 
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(conString); 
string user = builder.UserID; 
string pass = builder.Password; 
+0

做這項工作做得很好的MySQL呢? – nawfal 2012-04-02 10:58:46

+1

如果您爲MySQL使用特殊的.NET組件,那麼應該有特定的ConnectionStringBuilder,例如MySqlConnectionStringBuilder。 – Devart 2012-04-02 11:04:07

+0

@Devart謝謝..現在我明白了.. – nawfal 2012-04-02 11:07:47

相關問題