我已将这段代码放在一起,并想知道如何从.config或.ini文件中调用某些数据。我已经研究过AppSettings和ConfigurationManager,但是对于noob大脑计算它太多了: - )
我已将system.configuration引用类添加到引用类列表中。 基本上我希望存储在外部文件上的MySQL变量可以在以后由最终用户更改。我无法把整个代码放在一边,因为它说我已经超过了3000行或者什么。
DBServer = RemoteServer
dataBase = myDatabase
user = root
password = [the password here]
我使用 app.config 尝试了以下代码,但仍然没有
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="constring" connectionString="server=localhost; database=SchoolDB; user id=root; password=Pa55w0rd;"/>
</connectionStrings>
</configuration>
在 Mainwindow.cs
中替换了以下内容string constring = "datasource=localhost;port=3306;username=root;password=Pa55w0rd";
用这个
string constring = ConfigurationManager.ConnectionStrings["dbconnectionstring"].ConnectionString;
然后我收到此错误
“对象引用未设置为对象的实例”
好的,这里是 Mainwindow.cs
public partial class Portal : Form
{
public Portal(string UserName)
{
InitializeComponent();
lbl_username.Text = UserName;
timer1.Start();
txt_staff_password1.PasswordChar = '*';
load_loan_laptops();
}
DataTable dbdataset;
void load_loan_laptops()
{
//string constring = "datasource=localhost;port=3306;username=root; password=Pa55w0rd";
string constring = ConfigurationManager.ConnectionStrings["constring"].ConnectionString;
string Query = "Select * from schooldb.loans where Avail = 'yes';";
MySqlConnection conDataBase = new MySqlConnection(constring);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
MySqlDataReader myReader;
try
{
conDataBase.Open();
myReader = cmdDataBase.ExecuteReader();
while (myReader.Read())
{
string devices = myReader.GetString("Device_Name");
cmb_acer_loan.Items.Add(devices);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
conDataBase.Close();
}
请有人帮忙解决这个问题。
答案 0 :(得分:0)
问题:您的app.config
文件包含<connectionString>
标记,而不是<connectionStrings>
标记。
解决方案:将<connectionString>
替换为<connectionStrings>
,将</connectionString>
替换为</connectionStrings>
文件中的app.config
试试这个:
app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="constring" connectionString="datasource=localhost;port=3306;username=root;password=Pa55w0rd"/>
</connectionStrings>
</configuration>
<强>码强>
string constring = ConfigurationManager.ConnectionStrings["constring"].ConnectionString;