根据应用程序的安装位置建立路径

时间:2013-08-11 20:03:14

标签: c# sql sql-server path

我实际上有创建动态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();


        }

1 个答案:

答案 0 :(得分: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>

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

阅读并使用应用程序中的connectionstring:

namespace ConsoleApplication1
{
    using System.Configuration;

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

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

建议进一步阅读:Connections Strings and Configuration Files