由于KeyNotFoundException,无法连接到MySQL数据库

时间:2016-07-02 09:35:28

标签: c# mysql keynotfoundexception

我不确定为什么每次尝试连接时都会出错。我尝试了很多东西。当我在手动连接时键入错误的密码时,表示访问权限未被授予或者其他什么,所以我知道它连接但是当它连接时我得到这个奇怪的错误。

  

未处理的类型异常   发生'System.Collections.Generic.KeyNotFoundException'   mscorlib.dll其他信息:给定的密钥不存在于   字典。

对于localhost,当我有这个连接字符串时它会工作。

server=localhost; port=3306; USER ID=root; password=***; database=database;

但是当我更改服务器用户ID和密码时,它决定不起作用。

cn.Open();

处抛出异常
     private void button1_Click(object sender, EventArgs e)
    {
        MySqlConnection cn = new MySqlConnection();
        cn.ConnectionString = "server=db4free.net ;port=3306; 
                               user=goof; password=pwd; database=s;";
        cn.Open();
        MySqlCommand cmd = new MySqlCommand("select * from users where
                                             username = '" 
                                             + textBox1.Text + "',
                                             and password = '" 
                                             + textBox2.Text + "'", cn);
        MySqlDataReader dr;
        dr = cmd.ExecuteReader();
        int count = 0;

        while(dr.Read())
        {
            count += 1;
        }
        if(count == 1)
        {
            MessageBox.Show("success");
        }
        else
        {
            MessageBox.Show("error");
        }
    }

2 个答案:

答案 0 :(得分:1)

问题是user=goof字段应为user id=goof

将您的连接字符串更改为:

cn.ConnectionString = "server=db4free.net ;port=3306; USER ID=goof; password=pwd; database=s;";

答案 1 :(得分:0)

尝试使用“用户ID”或“uid”而不仅仅是“用户”,让我们知道它是否能完成工作!