c# - 当我什么都得不到时却得到空洞的答案

标签 c# sql sql-server-ce

我正在开发一个使用 SQL Server Compact 数据库的 C# 程序。我有一个查询,我想在其中选择特定字段中的最高数字,如下所示:

SELECT MAX(nr2) FROM TABLE WHERE nr1 = '10'

当有一行 nr1 为 10 时,这会按预期工作。但是当该行不存在时,我希望不会得到答案,而是得到一个空字段。所以在我的 C# 代码中我有:

text = result[0].ToString();

当我从我的 SQL 查询中获取一个值时,该字符串包含一个数字,而当指定的行不存在时,我得到一个空字符串。

这并不是什么大问题,但我可以进行以下检查:

if (result.Count > 0)

代替:

if (result[0].ToString() == "")

我现在必须这样做,因为计数总是大于 0。

最佳答案

谈论使用大锤敲碎坚果,但是......

我没有使用 C# 代码对其进行测试,但在 SQL Server Management Studio 中,如果您运行...

SELECT MAX(nr2) FROM TABLE WHERE nr1 = '10' HAVING MAX(nr2) IS NOT NULL

,结果是一个空集合,而不是一个包含一个 null(或空)元素的集合。

注意:我的回答是基于这个 SO Answer .似乎 MAXCOUNT SQL 函数总是返回单个行集合。

关于c# - 当我什么都得不到时却得到空洞的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29557877/

相关文章:

mysql - 显示另一个表中另一个对应属性不为空的重复值的聚合

sql - 使用 "with as"的输出几次

sql - 我们如何在 T-SQL 中编写递归 SQL 查询?

c# - 在 WPF 中使用 EF Code First 和 SqlCe

c# - 如何解析 set-cookie header 中的名称-值对?

c# - 蓝牙拨号与 32feet.net 和 c#

c# - 字符串到 byte[] 数组,反之亦然

c# - 以编程方式创建 SQLCE 数据库

database - 如何更改 SQL Server Compact Edition 表架构中的列顺序?

c# - Xamarin.forms-如何在 View 模型内的条目中检测回车?