VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1059|回复: 7

已知一个连接字符串,求连接串中的,用户名和密码?

[复制链接]

2

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-12-23 09:00:01 | 显示全部楼层 |阅读模式
试问一定要分解字符串么,详细如下:
public static string sqlConnectionString = "packet size=4096;user id=sa;data source=" + "." + ";persist security info=True;initial catalog=plan;password=aaa";

现在俺想求得 sqlConnectionString 中的 用户名,和密码 ,赋给变量 username ,pwd

怎么实现?
回复

使用道具 举报

0

主题

21

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-12-23 09:15:01 | 显示全部楼层
string str = "packet size=4096;user id=sa;data source=ddd;persist security info=True;initial catalog=plan;password=aaa";
Match m = Regex.Match(str,@"user id=(\w+);.*password=(.*)[;]?");
string username = m.Groups[1].Value;
string pwd = m.Groups[2].Value;
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-12-23 09:30:01 | 显示全部楼层
正则表达式..
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-12-23 09:45:01 | 显示全部楼层
以";",再以"="
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-12-23 10:30:02 | 显示全部楼层
public static string sqlConnectionString = "packet size=4096;user id=sa;data source=" + "." + ";persist security info=True;initial catalog=plan;password=aaa";

方案1。
string[] str = sqlConnectionString.Split( new char[]{'=',':'});
for(int i= 0;i<str.Lenght;i++
{
  switch(str[i])
  {
    case "user id":
        username=str[i+1];i++;break;
    case"password":
        pwd=str[i+1];i++;break;
    default:
    break;
  }  
}

方案2。
    username = "user id=";
    pwd="password=";
    int pos1 = sqlCOnnectionString.Find(username);
    int pos2 = sqlCOnnectionString.Find(";",pos1);
     username = sqlCOnnectionString.SubString(pos1+username.Length,pos2);
   pwd  ....
方案3。
正则//MSDN不在,写不出来了
回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-12-23 10:45:01 | 显示全部楼层
DbConnectionStringBuilder builder =  new DbConnectionStringBuilder();
builder.ConnectionString = sqlConnectionString ;
string username = builder["User ID"];

回复

使用道具 举报

0

主题

15

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-12-23 11:00:01 | 显示全部楼层
coldfall ( ) 信誉:93   
DbConnectionStringBuilder builder =  new DbConnectionStringBuilder();
builder.ConnectionString = sqlConnectionString ;
string username = builder["User ID"];

这才是容易的方法
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-12-23 11:15:01 | 显示全部楼层
coldfall的才是正解。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表