T#文件配置中的C#Mysql连接

时间:2018-01-09 22:08:55

标签: c# mysql

我正在学习C#,专心致志,我已经能够创建一个小型系统,在linux服务器上的Mysql数据库中查询和插入信息。 到目前为止一切顺利,但我想避免不断重复数据库的连接代码,或更改服务器,数据库,用户,密码,端口等连接信息。 我真的想创建一个包含此信息的txt文件。 这可能会根据服务器IP,银行名称,最终这个基本信息而改变,而无需重新编译整个项目。 使用mysql数据库摘录连接代码:

 private void btnSalvar_Click(object sender, EventArgs e)
    {          

        string constring = "datasource=mysqlip;port=3306;database=winprog;username=root;password=root"; //How to put this part in a .txt file or something that returns the values ​​that it takes for the connection?//   

        var conexao = new MySqlConnection(constring);
        var comando = conexao.CreateCommand();

        try
        {
            conexao.Open();
            comando.CommandText = "INSERT INTO name (name,attribute,twoname,valuename) VALUES ('" + nameUser.Text + "','username','=','" + namereal.Text + "')"; 
            comando.ExecuteNonQuery();
        }
        finally
        {
            if (conexao.State == ConnectionState.Open)
            conexao.Close();

        }

    }

如果我有10个使用代码并需要输入数据的表单,那么10需要指定连接信息,如果它从服务器更改,则一切都变得更加复杂。 App.config有点奇怪,我想简化这个程序。 谢谢大家,我为英语道歉。

2 个答案:

答案 0 :(得分:4)

使用App.config文件并专门查看该元素。在那里,您可以按名称定义连接字符串并使用

获取它
ConfigurationManager.ConnectionStrings["<you connection string name>"].ConnectionString;

此页面提供完整说明How to get a Connection String From App Config in C#

另请参阅使用配置转换以允许重新定义配置中的值,这些值会自动为不同的目标环境选择。

答案 1 :(得分:-1)

建议不要使用文本文件来存储连接字符串,但由于您要询问如何以这种方式执行此操作:

  1. 将连接字符串写入文件中。
  2. 将文件移动到可执行文件路径。例如:
  3.   

    bin / debug文件夹

    1. 阅读:

      var connectionString = File.ReadAllLines("Connectionstring.txt").FirstOrDefault();

    2. 现在你可以使用connectionString变量。

      但是

      正如我所提到的那样,我们不推荐这样做,因为您很难理解App.Config的工作原理。

      在App.Config中,您可以创建一个新的元素/条目。每个条目都有名称

      <configuration>
         <connectionStrings>
             <add name="MyDatabaseCS"
              connectionString="datasource=mysqlip;port=3306;database=winprog;username=root;password=root"/>
         </connectionStrings>
      </configuration>
      

      现在您有一个名为 ConnectionStrings 的元素,它可以包含连接字符串的多个/列表。我们将使用名称 MyDatabaseCS 添加新的连接字符串,并将添加为连接字符串即可。我们稍后会使用名称来获取连接字符串的值。

      现在在代码中获取连接字符串值。您只需要引用连接字符串元素,因为您可能有许多连接字符串,您必须区分您确切意味着哪一个,在这种情况下它是 MyDatabaseCS

      var connectionString = ConfigurationManager.ConnectionStrings["MyDatabaseCS"].ConnectionString;