我是靠谱客的博主 能干飞鸟,最近开发中收集的这篇文章主要介绍MySQL查询的数据为空时的处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

相关问题:

C# 如何判断MySqlDataReader 的结果为空
C# 使用MySql查询的得到数据怎么判断为空

解决过程:

①发现会【查找的数据为空】但是MySqlDataReader不为空

                MySqlDataReader mySqlData = mySqlCommand2.ExecuteReader();
                if (mySqlData == null)
                {
                    Console.WriteLine("不存在");
                }
                else
                {
                    Console.WriteLine("执行这一步");
                }

②在读取的代码段中打断点,发现当【查找的数据为空】时,都不会打印出来(即不会执行.Read)

 while (mySqlData.Read())
                {
                    Console.WriteLine(mySqlData.GetString(0) + "账号存在");
                    if (mySqlData.GetString(0) == "")
                    {
                        Console.WriteLine(mySqlData.GetString(0) + "账号不存在");
                    }
                    if (mySqlData.GetString(0) == null)
                    {
                        Console.WriteLine(mySqlData.GetString(0) + "为空,账号不存在");
                    }
                 }
 

解决方案:如果执行mySqlData.Read()则是有数据的,没有执行则是无数据的

       try
            {
                // 打开连接(如果处于关闭状态才进行打开)
                if (CurrentSql.State == ConnectionState.Closed)
                {
                    CurrentSql.Open();
                }
                // 创建用于实现MySQL语句的对象
                // 参数一:SQL语句字符串 参数二:已经打开的数据库连接对象
                MySqlCommand mySqlCommand2 = new MySqlCommand(mysqlString, CurrentSql); 
                // 执行MySQL语句,接收查询到的MySQL结果
                MySqlDataReader mySqlData = mySqlCommand2.ExecuteReader();
                
                //数据为空
                if (!mySqlData.Read())
                {
                    Console.WriteLine("不读取,则账号不存在");
                    result = false;
                    return objectData;
                }
                // 读取数据
                while (mySqlData.Read())
                {
                //只要是执行Read,就是有数据的 这里来处理数据
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                result = false;
                return objectData;
            }
            finally
            {
                // 关闭连接
                CurrentSql.Close();

            }

最后

以上就是能干飞鸟为你收集整理的MySQL查询的数据为空时的处理的全部内容,希望文章能够帮你解决MySQL查询的数据为空时的处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(86)

评论列表共有 0 条评论

立即
投稿
返回
顶部