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