如何修复对象引用不设置为对象的实例MySql连接问题

本文关键字:实例 MySql 连接 问题 对象 何修复 对象引用 设置 | 更新日期: 2023-09-27 18:04:32

我正在创建一个使用mysql作为数据库的应用程序,但是,当我运行该程序时,我一直得到这个错误:

"对象引用未设置为对象的实例。

private class registerUser()的第29行,它以String connString =....开始,问题是我如何解决它?

private void registerUser()
{
    String connString = System.Configuration.ConfigurationManager.ConnectionStrings["SportsDBConnString"].ToString();
    conn = new MySql.Data.MySqlClient.MySqlConnection(connString);
    conn.Open();
    queryStr = "";
    queryStr = "INSERT INTO sportsdbmlb.userregistration (firstname, middlename, lastname, email, username, password )" +
        "VALUES('"+firstnameTextBox.Text + "','"+ middlenameTextBox.Text +"','" + lastnameTextBox.Text + "','" + emailTextBox.Text +
        "','" + usernameTextBox.Text + "','" + passwordTextBox.Text + "')";
    cmd = new MySql.Data.MySqlClient.MySqlCommand(queryStr, conn);
    cmd.ExecuteReader();
    conn.Close();
}

如何修复对象引用不设置为对象的实例MySql连接问题

我想你在App.config或Web.config中没有connectionString。

如果你想解决你的问题,你至少应该做1:

  1. 添加配置
  2. 您还可以在设置中添加空检查。在这种情况下,如果它来自你的App.config/Web。如果你现在添加它,它可能不会再丢失了。

在App.config/Web中添加配置。根据您是构建控制台应用程序还是web应用程序来配置:

  <?xml version='1.0' encoding='utf-8'?>
  <configuration>
    <connectionStrings>
      <add name="SportsDBConnString" providerName="System.Data.YourProviderName" 
           connectionString="Valid Connection String;" />
    </connectionStrings>
  </configuration>

添加空检查:

if (System.Configuration.ConfigurationManager.ConnectionStrings["SportsDBConnString"] != null) {
    String connString = System.Configuration.ConfigurationManager.ConnectionStrings["SportsDBConnString"].ConnectionString;
    //Do other logic here or move connString declaration outside this if
}
else {
    throw new Exception("Missing ConnectionString SportsDBConnString in App.config/Web.Config");
}

使用ConnectionString属性

String connString = System.Configuration
                          .ConfigurationManager
                          .ConnectionStrings["SportsDBConnString"]
                          .ConnectionString;