我每次运行我的代码时都会遇到这个问题..这是我的代码

时间:2020-12-27 11:22:02

标签: c# mysql sql

class DB
    {
      private  MySqlConnection connection = new MySqlConnection("server=localhost;port:3306;username=root;password=;database=users_db");
        public void openConnection()
        {
            if (connection.State == System.Data.ConnectionState.Closed)
            {
                connection.Open();
            }
        }
        public void closeConnection()
        {
            if (connection.State == System.Data.ConnectionState.Open)
            {
                connection.Close();
            }
        }
        public MySqlConnection getConnection()
        {
            return getConnection();
        }
    }
}

它成功运行但在登录过程之后..有一个例外

  • System.ArgumentException: '不支持关键字。 参数名称:端口:3306;用户名'

2 个答案:

答案 0 :(得分:5)

问题出在“port”参数中的“:”,你必须用“=”来指定参数,就像这个例子:

"Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;"

你在这个page中有很多例子吗,

答案 1 :(得分:-2)

现在我遇到了这个问题

public MySqlConnection getConnection()
        {
            return getConnection();
        }

System.StackOverflowException: 'System.StackOverflowException' 类型的异常被抛出。'