相关问题:
C# 如何判断MySqlDataReader 的结果为空
C# 使用MySql查询的得到数据怎么判断为空
解决过程:
①发现会【查找的数据为空】但是MySqlDataReader不为空
复制代码
1
2
3
4
5
6
7
8
9
10
11MySqlDataReader 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
14while (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
39try { // 打开连接(如果处于关闭状态才进行打开) 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查询内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复