我开发了一个带有 SQL Server 后端的 Windows 应用程序来插入员工姓名。我将在三个数据库中一一插入员工详细信息。所以,我喜欢从文本文件中获取连接值。每当我想更改连接时,我只想在文本文件中输入登录详细信息。
如何从文本文件中获取连接字符串?
我开发了一个带有 SQL Server 后端的 Windows 应用程序来插入员工姓名。我将在三个数据库中一一插入员工详细信息。所以,我喜欢从文本文件中获取连接值。每当我想更改连接时,我只想在文本文件中输入登录详细信息。
如何从文本文件中获取连接字符串?
使用app.config
( MSDN ) 文件。
允许您配置多个命名连接字符串,您可以通过System.Configuration.ConfigurationManager类的ConnectionStrings属性访问它们
像这样尝试
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());
}
}
}
您不需要使用纯文本文件来执行此操作。您可以使用一个特殊的配置文件和一组使您的生活更轻松的类。
将配置文件添加到您的项目
转到在解决方案中添加新项目并选择应用程序配置文件
将连接字符串添加到配置文件
只需复制/粘贴此内容并根据需要修改连接字符串和连接字符串名称
<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);
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());
}