正常情況下寫的連接字符串:
connStr = "Data Source=127.0.0.1;DataBase=Hydor;UID=***;PWD=***;Pooling=true;Min Pool Size=1;Max Pool Size=20;";
有時我們還要用參數拼連接字符串:
connStr = "Data Source=" + myDataSource + ";DataBase=" + myDataBase + ";UID="
+ userID + ";PWD=" + dbPassword + ";Pooling=true;Min Pool Size=1;Max Pool Size=20;";
參數一多,寫起來和看上去就都沒那么happy了~ 用SqlConnectionStringBuilder就會看上去清爽一些~
下面是它的寫法,和一些常用屬性。
var connStrBuilder = new SqlConnectionStringBuilder();
connStrBuilder.DataSource = myDataSource ; //IP
connStrBuilder.InitialCatalog = "Hydor"; //數據庫名
connStrBuilder.UserID = userID; //數據庫身份驗證ID
connStrBuilder.Password = dbPassword; //密碼
connStrBuilder.Pooling=true; //是否匯入連接池
connStrBuilder.MinPoolSize = 1; //最小連接池連接數
connStrBuilder.MaxPoolSize = 20; //最大連接數
connStrBuilder.IntegratedSecurity = false; //false:用戶名密碼驗證 true:windows身份驗證
connStrBuilder.MultipleActiveResultSets = true; //是否允許保留多活動結果集 (MARS)
SqlConnection sqlcon = new SqlConnection();
sqlcon.ConnectionString = connStrBuilder.ConnectionString; //轉成連接字符串
sqlcon.Open();
向已有連接字符串提供數據:
connStr = "Data Source=127.0.0.1;DataBase=Hydor;UID=***;PWD=***;"; var connStrBuilder = new SqlConnectionStringBuilder(connStr); //connStr是已有的連接字符串,向其添加連接池設置 connStrBuilder.Pooling=true; connStrBuilder.MinPoolSize = 1; connStrBuilder.MaxPoolSize = 20;
其他寫法:
以password屬性為例,下面倆種寫法是完全一樣的~
connStrBuilder["password"] = "***";
connStrBuilder.Password = "***";
優點:
方便創建和管理連接字符串,節省字符串拼接的性能消耗(這個應該性能影響微乎其微 )。