如何从文本文件中获取连接字符串?

时间:2013-10-08 04:49:42

标签: c# sql-server sql-server-2008 c#-4.0

我开发了一个带有SQL Server后端的Windows应用程序来插入员工姓名。我将逐个在三个数据库中插入员工详细信息。所以,我喜欢从文本文件中获取连接值。每当我想更改连接时,我只想在文本文件中输入登录详细信息。

如何从文本文件中获取连接字符串?

4 个答案:

答案 0 :(得分:5)

使用app.configMSDN)文件。

允许您配置多个已命名的连接字符串,您可以通过System.Configuration.ConfigurationManager类“ConnectionStrings属性

进行访问

答案 1 :(得分:3)

请尝试这样

using System;
using System.IO;

class Test 
{

    public static void Main() 
    {
        string txtpath = @"c:\textfile.txt";
        try 
        {
            if (File.Exists(txtpath)) 
            {



            using (StreamReader sr = new StreamReader(txtpath)) 
            {
                while (sr.Peek() >= 0) 
                {
                    string ss = sr.ReadLine();
                     string [] txtsplit = ss.Split(';');

                     //now loop through   array
                     string server=txtsplit[0].Tostring();
                    string userid= split[1].Tostring(); // user id
                   string password= split[2].Tostring(); // password

                }
            }
          }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("Error: {0}", e.ToString());
        }
    }
}

答案 2 :(得分:2)

您无需使用纯文本文件即可。您可以使用一个特殊的配置文件和一组类,以使您的生活更轻松。

将配置文件添加到项目中

转到解决方案中的添加新项目,然后选择应用程序配置文件

将连接字符串添加到配置文件

只需复制/粘贴此内容并根据需要修改连接字符串和连接字符串名称

<configuration>
  <connectionStrings>
    <add name="Conn1" connectionString="Data Source=SERVER_NAME;Initial Catalog=DATABASE;Persist Security Info=True;User ID=USER;Password=12345678" providerName="System.Data.SqlClient"/>
    <add name="Conn2" connectionString="Data Source=SERVER_NAME;Initial Catalog=DATABASE;Persist Security Info=True;User ID=USER;Password=12345678" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

将System.Configuration引用添加到项目中

右键单击引用,转到添加新项,然后从.NET选项卡中选择System.Configuration

添加包装类

这不是必需的,但会让您的生活更轻松。创建一个这样的类,这样每次需要连接数据库时都不必调用配置管理器

using System;
using System.Configuration;
using System.Text;

namespace WindowsFormsApplication4
{
    class Config
    {
        public static string CONNECTION_STRING_1
        {
            get
            {
                return ConfigurationManager.ConnectionStrings["Conn1"].ConnectionString;
            }
        }

        public static string CONNECTION_STRING_2
        {
            get
            {
                return ConfigurationManager.ConnectionStrings["Conn2"].ConnectionString;
            }
        }
    }
}

在其他方法中使用连接字符串

SqlConnection conn = new SqlConnection(Config.CONNECTION_STRING_1);

答案 3 :(得分:0)

 class Sql
    {
        public static string ReadCS()
        {
            using (var streamReader = File.OpenText("SqlSettings.txt"))//Enter FileName
            {
                var lines = streamReader.ReadToEnd();
                return lines;
            }
        }
        public SqlConnection con = new SqlConnection(Sql.ReadCS());

    }