由于KeyNotFoundException,无法连接MySQL数据库
本文关键字:连接 MySQL 数据库 KeyNotFoundException 由于 | 更新日期: 2023-09-27 17:54:32
不知道为什么每次尝试连接时都会出现错误。我尝试了很多东西。当我在手动连接时输入错误的密码时,它说访问未授予或其他什么,所以我知道它连接了,但当它连接时,我得到这个奇怪的错误。
类型的未处理异常"System.Collections.Generic。KeyNotFoundException'发生在.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");
}
}
问题是user=goof
字段应该是user id=goof
把你的连接字符串改成:
cn.ConnectionString = "server=db4free.net ;port=3306; USER ID=goof; password=pwd; database=s;";
尝试使用"user id"或"uid"代替"user",并让我们知道它是否完成了工作!