我实际上有创建动态sql连接字符串的方法,该字符串根据硬编码的路径从.txt文件中读取信息。现在有一个问题,如果用户安装此项目的exe。路径应该取决于用户安装exe程序的位置 - 通常是程序文件,因此我需要搜索所选文件夹并在其中搜索该.txt文件。很长一段时间我都在想它。通过互联网搜索,但没有找到任何有用的东西。至少我会用我的当前动态连接字符串。
我可以请你帮忙吗?非常感谢您的参与。我很欣赏。
internal static class DataSource
{
private static string _ConnectionString;
public static string ConnectionString
{
get
{
if (_ConnectionString == null)
_ConnectionString = FunctionToDynamicallyCreateConnectionstring();
return _ConnectionString;
}
}
private static string FunctionToDynamicallyCreateConnectionstring()
{
string path = "C:\\Users\\marek\\Documents\\Visual Studio 2012\\Projects\\tours\\tours\\sql_string.txt";
StreamReader sr = new StreamReader(File.Open(path, FileMode.Open));
SqlConnectionStringBuilder cb = new SqlConnectionStringBuilder();
cb.DataSource = DecodeFrom64(sr.ReadLine());
cb.InitialCatalog = DecodeFrom64(sr.ReadLine());
cb.UserID = DecodeFrom64(sr.ReadLine());
cb.Password = DecodeFrom64(sr.ReadLine());
return cb.ToString();
}
答案 0 :(得分:0)
如果您想尝试App.config,您需要执行以下步骤:
System.Configuration
程序集App.config
文件:“添加 - >新项目...... - >应用程序配置文件”编辑App.config文件,添加数据库连接字符串:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="TheFriendlyNameOfMyConnection" connectionString="Provider=SQLNCLI10.1;Integrated Security=SSPI;Initial Catalog=YOUR_DATABASE_NAME;Data Source=YOUR_SQLSERVER_NAME;" />
</connectionStrings>
</configuration>
(根据您的特定需求调整连接字符串)
阅读并使用应用程序中的connectionstring:
namespace ConsoleApplication1
{
using System.Configuration;
public class Program
{
static void Main(string[] args)
{
var connectionstring = ConfigurationManager.ConnectionStrings["TheFriendlyNameOfMyConnection"].ConnectionString;
}
}
}
App.config文件将复制到您的构建输出,其名称与项目程序集和扩展名.config
相同。