我是靠谱客的博主 能干飞鸟,这篇文章主要介绍MySQL查询的数据为空时的处理,现在分享给大家,希望可以做个参考。

相关问题:

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

解决过程:

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
MySqlDataReader mySqlData = mySqlCommand2.ExecuteReader(); if (mySqlData == null) { Console.WriteLine("不存在"); } else { Console.WriteLine("执行这一步"); }

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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()则是有数据的,没有执行则是无数据的

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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查询内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部