有时需要从config中的数据库配置中获取个别参数值,如连接用户名、密码、数据库名称等,有两种方法:
1 从字符串中查找关键字段,自己拆解,这种方案简单,但不具备通用性,因为数据库连接配置中一些参数名称可以有多种写法,例如uid也可以写成user id等
ConnectionStringSettings cs = ConfigurationManager.ConnectionStrings["mydb"];
String str = cs.ConnectionString;
str = str.ToLower();
int nStart = str.IndexOf("database=")+9; //查找数据库名称配置
int nEnd = str.IndexOf(";", nStart);
String strDB = str.Substring(nStart, nEnd-nStart);
2 使用**ConnectionStringBuilder,具备通用性,更可靠。
SQLServer:SqlConnectionStringBuilder
MySql:MySqlConnectionStringBuilder,存在于 MySql.Data.MySqlClient
SqlConnectionStringBuilder scb =
new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["mydb"].ToString());
String strDB = scb.InitialCatalog;
String strUser = scb.UserID;
String strPwd = scb.Password;