直接从app.config文件获取值到连接字符串

时间:2014-11-13 15:55:10

标签: c# string connection-string app-config

在我的应用程序中,我实现了一个动态连接字符串,它直接从app.config文件中获取值。但在获取值之前,我将值分配给标签文本并从连接字符串中调用它。我希望直接从字符串中获取该值而不使用标签

这是我的代码

dbserverip.Text = ConfigurationManager.AppSettings["serverip"].ToLower().Trim();
curport.Text = ConfigurationManager.AppSettings["dbport"].ToLower().Trim();
currentdb.Text = ConfigurationManager.AppSettings["defdatabase"].ToLower().Trim();

将值分配给标签后,我从连接字符串中调用它,如下所示:

string constring = string.Format(
    "datasource='{0}';port='{1}';database='{2}';username=uwloanmanmain;password=XXXXXXXX;Connect Timeout=180;Command Timeout=180",
    dbserverip.Text, curport.Text, currentdb.Text); 

但我想在不使用任何标签的情况下这样做。只使用字符串值。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:1)

dbserverip.Text替换为ConfigurationManager.AppSettings["serverip"].ToLower().Trim()curport.Text替换为ConfigurationManager.AppSettings["dbport"].ToLower().Trim(),将currentdb.Text替换为ConfigurationManager.AppSettings["defdatabase"].ToLower().Trim()

string constring = string.Format("datasource='{0}';port='{1}';database='{2}';username=uwloanmanmain;password=xxxxxxxxxxxx;Connect Timeout=180;Command Timeout=180", 
                       ConfigurationManager.AppSettings["serverip"].ToLower().Trim(), 
                       ConfigurationManager.AppSettings["dbport"].ToLower().Trim(), 
                       ConfigurationManager.AppSettings["defdatabase"].ToLower().Trim());

答案 1 :(得分:1)

我想在构建连接字符串的地方,您无法访问ConfigurationManager。我看到解决这个问题的方法是创建一个单独的类型/类,一旦填充了现在填充标签的地方的配置数据,就可以在程序的各种类型中使用。

此类信息对于使用SecureString类也很有用。

答案 2 :(得分:0)

您可以使用这样的字符串变量。

string sdbserverip = ConfigurationManager.AppSettings["serverip"].ToLower().Trim();
string scurport = ConfigurationManager.AppSettings["dbport"].ToLower().Trim();
string scurrentdb = ConfigurationManager.AppSettings["defdatabase"].ToLower().Trim();

string constring = string.Format("datasource='{0}';port='{1}';database='{2}';username=uwloanmanmain;password=xxxxxxxxxxxxxxx;Connect Timeout=180;Command Timeout=180", sdbserverip, scurport, scurrentdb);