5

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

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

4

4 回答 4

5

使用app.config( MSDN ) 文件。

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

于 2013-10-08T04:55:15.993 回答
4

像这样尝试

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());
        }
    }
}
于 2013-10-08T04:53:33.000 回答
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);
于 2013-10-09T12:38:04.530 回答
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());
}
于 2019-05-21T17:52:39.170 回答