C#连接MySQL数据库,提示Connection must be valid and open

daixianyu 2022-03-03 00:07:51

我的代码如下:           

            MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
            builder.UserID = "root";
            //密码
            builder.Password = "****";
            //服务器地址
            builder.Server = "localhost";
            //连接时的数据库
            builder.Database = "login";

            MySqlConnection msc = new MySqlConnection(builder.ConnectionString);

           try
            {
                msc.Open();
                Console.WriteLine("lianjiechenggong");
            }
            catch(Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            string sql = "select * from userdate";
            MySqlCommand cmd = new MySqlCommand(sql, msc);
            MySqlDataReader reader = cmd.ExecuteReader();//这里提示:“Connection must be 
            valid and open.”

            while (reader.Read())
            {
                Console.WriteLine(reader[0].ToString() + reader[1].ToString());
            }
            msc.Close();

 

 

我的数据库叫login,表叫userdate,里面就一条测试数据,这个连接问题请问怎么解决?

 

...全文
1523 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
程老师2088 2022-03-04
  • 打赏
  • 举报
回复 1

把 builder.ConnectionString 打出来看看

大然然 2022-03-03
  • 打赏
  • 举报
回复 1

string connectString = "server=localhost;port=3306;user=root;password=123456; database=login;";
MySqlConnection connection = new MySqlConnection(connectString);
connection.Open();
string commandString = "select * from userdate";
MySqlCommand command = new MySqlCommand(commandString,connection);
command.ExecuteReader();
不太确定你改端口没有,改了的话你不指定新端口是连不上的

daixianyu 2022-03-03
  • 举报
回复
@大然然 我用的就是默认端口3306
Robin 2022-03-03
  • 打赏
  • 举报
回复 1

msc.Open();是不是报错了,看一下输出错误日志

daixianyu 2022-03-03
  • 举报
回复
@Robin 没报错,我后面try了,只有MySqlDataReader reader = cmd.ExecuteReader();这句报错了
大然然 2022-03-03
  • 打赏
  • 举报
回复 1

try
{
msc.Open();
Console.WriteLine("lianjiechenggong");
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
lianjiechenggong 输出了没有

daixianyu 2022-03-03
  • 举报
回复
@大然然 输出了,我后面try了,只有MySqlDataReader reader = cmd.ExecuteReader();这句报错。
Mr怪咖 2022-08-14
  • 举报
回复
@daixianyu 请问您是怎么解决的呀?

111,076

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧