0

我实际上有创建动态 sql 连接字符串的方法,该字符串根据硬编码的路径从 .txt 文件中读取它的信息。现在有一个问题,如果用户安装这个项目的exe。路径应取决于用户安装 exe 程序的位置 - 通常是程序文件,因此我需要搜索选定的文件夹并在其中搜索该 .txt 文件。我沉思了很久。通过互联网搜索,但没有发现任何有用的信息。至少我会 psot 我当前的动态连接字符串。

我可以请你帮忙吗?非常感谢您的参与。我很感激。

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();


        }
4

1 回答 1

0

如果您想尝试 App.config,您需要执行以下步骤:

  • 添加对 .NET 框架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>

(根据您的特定需求调整连接字符串)

在应用程序中读取并使用连接字符串:

namespace ConsoleApplication1
{
    using System.Configuration;

    public class Program
    {
        static void Main(string[] args)
        {
            var connectionstring = ConfigurationManager.ConnectionStrings["TheFriendlyNameOfMyConnection"].ConnectionString;
        }
    }
}

App.config 文件将被复制到您的构建输出中,其名称与您的项目程序集和扩展名相同.config

推荐阅读:连接字符串和配置文件

于 2013-08-14T10:13:52.890 回答