C# 要创建“文件”;。政务司司长;可以包含my app.config成员的文件

C# 要创建“文件”;。政务司司长;可以包含my app.config成员的文件,c#,C#,我做了app.config。现在我想创建一个新文件“.cs”,在这里我想访问我在“app.config”中使用的凭据。我在现有的“.cs”中使用了凭据…但是我想创建一个新的“.cs”文件…所以我想做的更改将很容易处理。plz帮助 namespace CommoditiesControl.RatePuller { public class DBConnect { private MySqlConnection connection; private

我做了app.config。现在我想创建一个新文件“.cs”,在这里我想访问我在“app.config”中使用的凭据。我在现有的“.cs”中使用了凭据…但是我想创建一个新的“.cs”文件…所以我想做的更改将很容易处理。plz帮助

namespace CommoditiesControl.RatePuller
{
    public class DBConnect
    {
        private MySqlConnection connection;
        private string server;
        private int port;
        private string database;
        private string uid;
        private string password;

        //Constructor
        public DBConnect()
        {
            Initialize();
        }

        //Initialize values
        private void Initialize()
        {

            string DBserver = ConfigurationManager.AppSettings["server"];
            int DBport = Convert.ToInt32(ConfigurationManager.AppSettings["port"]);
            string DBdatabase = ConfigurationManager.AppSettings["eagri"];
            string uid = ConfigurationManager.AppSettings["test"];
            string password = ConfigurationManager.AppSettings[""];
        }
        string connectionString;
        connectionString = "SERVER=" + server + ";" +
                            "DATABASE=" + database + ";" +
                            "User Id=" + uid + ";" +
                            "PASSWORD=" + password + ";" +
                            "PORT=" + port + ";" +
                            "Connect Timeout=240";
        // string connectionString = "server=localhost;User Id=test;database=eagri;port=13306";
        connection = new MySqlConnection(connectionString);
    }

    //open connection to database
    private bool OpenConnection()
    {
        try
        {
            connection.Open();
            return true;
        }
        catch (MySqlException ex)
        {
            //The two most common error numbers when connecting are as follows:
            //0: Cannot connect to server, access denied.
            //1045: Invalid user name and/or password.
            switch (ex.Number)
            {
                case 0:
                    Console.WriteLine("Cannot connect to server.  Access Denied");
                    break;

                case 1045:
                    Console.WriteLine("Invalid username/password, please try again");
                    break;

                default:
                    Console.WriteLine("Unable to connect to mysql server, unknown error {0}", ex.ToString());
                    break;
            }
            return false;
        }

    }

    //Close connection
    public bool CloseConnection()
    {
        try
        {
            connection.Close();
            return true;
        }
        catch (MySqlException ex)
        {
            Console.WriteLine(ex.Message);
            return false;
        }
    }

    //Insert statement
    public void Insert(string query)
    {
        //open connection
        if (this.OpenConnection() == true)
        {
            //create command and assign the query and connection from the constructor
            MySqlCommand cmd = new MySqlCommand(query, connection);

            //Execute command
            cmd.ExecuteNonQuery();

            //close connection
            this.CloseConnection();
        }
    }

    //Update statement
    public void Update(string query)
    {
        //Open connection
        if (this.OpenConnection() == true)
        {
            //create mysql command
            MySqlCommand cmd = new MySqlCommand();
            //Assign the query using CommandText
            cmd.CommandText = query;
            //Assign the connection using Connection
            cmd.Connection = connection;

            //Execute query
            int i = cmd.ExecuteNonQuery();

            Console.WriteLine("DB update result: {0} updated", i);

            //close connection
            this.CloseConnection();
        }
    }

    //Delete statement
    public void Delete(string query)
    {
        if (this.OpenConnection() == true)
        {
            MySqlCommand cmd = new MySqlCommand(query, connection);
            cmd.ExecuteNonQuery();
            this.CloseConnection();
        }
    }

    //Select statement
    public MySqlDataReader Select(string query)
    {
        MySqlDataReader dataReader = null;

        //Open connection
        if (this.OpenConnection() == true)
        {
            //Create Command
            MySqlCommand cmd = new MySqlCommand(query, connection);
            //Create a data reader and Execute the command
            dataReader = cmd.ExecuteReader();
        }

        return dataReader;
    }

    //Count statement
    public int Count(string query)
    {
        int Count = -1;

        //Open Connection
        if (this.OpenConnection() == true)
        {
            //Create Mysql Command
            MySqlCommand cmd = new MySqlCommand(query, connection);

            //ExecuteScalar will return one value
            Count = int.Parse(cmd.ExecuteScalar() + "");

            //close Connection
            this.CloseConnection();
        }
        return Count;
    }

    //Backup
    public void Backup()
    {
    }

    //Restore
    public void Restore()
    {
    }

}
}

但请记住,您的应用程序在加载配置文件时只加载一次,因此,如果在运行时更改它,则需要强制更新它以获取新值

您的问题对我的cofig.app.来说不清楚。我在这里使用了字符串DBserver=ConfigurationManager.AppSettings[“server”];&等等……但现在我必须创建一个新的文件program“.cs”,从中我可以对字符串DBserver=ConfigurationManager.AppSettings[“server”]进行任何更改;由此,您可以在局部变量中设置值。在实例变量
this.server=ConfigurationManager.AppSettings[“server”]
中设置它们,然后您可以创建
DBConnect
的新实例,如果您已将其公开为公共属性,则可以使用它。您认为我不想创建新类吗?我必须使用静态常量吗?但是如果没有定义任何类,我如何主持&正如你所说的,我如何连接到以前的程序,其中端口被称为???我不会连接到预览数据库会话,我创建一个新会话,你有理由需要连接到同一个会话吗?另外,我不认为你可以在app.config中存储像数据库连接这样的复杂对象,只想在我的app.config中存储一个ConnectionString我所做的…像这样..&现在我想创建一个新的.cs,这样..它将帮助我解决这个问题使连接成为公共属性,然后在新的类文件中创建一个DBConnect实例,或者使用依赖项注入,这样就可以从另一个类访问连接属性
connection = DBServer;
port = DBport;
database = DBdatabase;
etc...