问题标签 [null]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7212 浏览

grails - 没有 ID 字段或部分为 NULL 复合字段的 Grails 域类

根据对上一个问题的回答(在此回答:Grails 中的 SQL/Database Views),我尝试使用域类来表示数据库中的视图。然而,这在大多数情况下都非常有效:

我有一个没有单一唯一键的视图。假设基础表如下所示:

A:
id,varX
1,"Blah"
2,"Foo"
3,"Bar"

B:
id,A.id,C.id
1,2,1
2,2,2
3,3,1

C:
id,varY
1,"Boom"
2,"Fizzle"

我的观点是这样的:
A.id,varX,B.id,C.id,varY
1,"Blah",NULL,NULL,NULL
2,"Foo",1,1,"Boom"
2,"Foo" ,2,2,"Fizzle"
3,"Bar",3,1,"Boom"

这正是它应该如何寻找我们的目的。但是,如您所见,我们可以为视图构造的最佳唯一复合 id 是 ['A.id','C.id'],因为它唯一标识每个元素,但 Grails 失败了,因为它似乎无法处理复合 ID 的一部分为 NULL(实际上,list() 返回 4 个对象的列表,第一个是空指针,其余是视图的实际域实例)。

请注意,我们也可以使用 A.id 和 B.id,但它会遇到同样的问题。

另请注意,我们希望至少显示一次表 A 中的元素(表 B/C 中未找到的任何字段为空值),如果表 B 中有多个对应条目,则可能显示多次。

所以,我的问题是两个部分:
1:是否可以定义一个没有任何 ID 字段的 grails 域类?我们不需要任何视图条目的永久句柄,我们只需要列出该视图中的数据。
2:如果不是,是否可以使用复合 ID 字段定义一个 grails 域类,其中一部分可能为 NULL,但即使复合 ID 的一部分为 NULL,它也将唯一标识一行?

我知道我们可以直接使用 Groovy SQL 来直接查询视图而无需关联的域类(实际上我们现在正在这样做),但理想情况下我们希望用域类来表示视图。此外,抛开所有争论不谈,这两个问题可以更通用地应用,而不仅仅是我们的特定问题。

0 投票
1 回答
2049 浏览

nhibernate - Nhibernate 中具有复合 ID 的意外代理对象

我有一个使用复合 id 的数据结构(我不想将其更改为单个),除了多对一连接之外,一切都加载正常,如果连接为空,而不是将属性映射为 null,而是将其映射为空代理对象。我写了一个丑陋的工作(见吹)。有什么解决办法吗?

私有节点_Parent;

}

以映射文件开头

并通过

0 投票
1 回答
66895 浏览

mysql - MySQL外键允许NULL?

我正在拼凑一个图像网站。基本架构非常简单的 MySQL,但我在尝试表示与图像关联的可能管理标志时遇到了一些麻烦(“不适当”、“受版权保护”等)。我目前的想法如下:

(为了便于阅读而被截断;我发誓,各种外键和索引都是有序的)

tblImageFlags.flagTypeID在标志类型的查找表上是外键的,你可以想象tblImageFlags.resolutionTypeID 应该是外键的luResolutionTypes.resolutionTypeID. 手头的问题是,当第一次发出标志时,没有逻辑解析类型(我会声明这是一个很好的用途NULL);但是,如果设置了一个值,它应该是查找表的外键。

我找不到针对这种情况的 MySQL 语法解决方法。它存在吗?最好的亚军是:

  • 添加“无节制”分辨率类型
  • 添加一个NULL条目luResolutionTypes.resolutionTypeID(这甚至可以在AUTO_INCREMENT列中工作吗?)

感谢您的洞察力!

PS Bonus 指向谁告诉我,在数据库的情况下,它是“索引”还是“索引”。


跟进:感谢 Bill Karwin 指出表结构中的语法错误(NOT NULL如果您希望允许,请不要将列设置为NULL!)。一旦我有足够的业力给你这些奖励积分,我会:)

0 投票
14 回答
42795 浏览

java - 在 Java 中将对象分配给 null 会影响垃圾收集吗?

在 Java中分配一个未使用的对象引用是否null以任何可衡量的方式改进了垃圾收集过程?

我在 Java(和 C#)方面的经验告诉我,尝试超越虚拟机或 JIT 编译器通常是违反直觉的,但我看到同事使用这种方法,我很好奇这是否是一个好的选择向上或那些巫毒编程迷信之一?

0 投票
4 回答
23138 浏览

sql - SQL nvl 等效 - 没有 if/case 语句 & isnull & coalesce

SQL 中是否有任何 nvl() 等效函数?

或者在某些情况下可以以相同方式使用的足够接近的东西?


更新:
没有 if 语句
没有 case 语句
没有 isnull
没有合并

0 投票
1 回答
4077 浏览

c# - C# 枚举属性 null vs. 0

我正在使用 IIS/asmx 来支持 Flash 客户端。我的一些服务层数据传输对象具有枚举值属性。在某些情况下,这些属性应该为空。

当将此类枚举属性的值为空的对象呈现给soap时,我收到此错误:

有没有更好的解决方案来创建一个值为 0 的枚举成员(例如 [0,“null”]?我怀疑我在这里缺乏基本知识。

谢谢。

0 投票
1 回答
125 浏览

null - 更新空值

我正在尝试生成数据层模板。当我进行选择、更新和插入时,我的想法是让模板与所有列一起使用,因为我不知道哪些列包含值。问题是我可能有一个更新状态,如 cmd.Parameters.AddWithValue("@Field", this.Field); 如果该值为空,则查询将不会执行。我怎样才能解决这个问题?

更新:

我试过了??解决方案,但我收到错误 Operator ?? 不能应用于操作数 string(或 int)和 System.DBNull。它似乎仅在该字段实际上为空时才有效,但如果它有值则无效。然后我尝试将类型(对象)DBNull 放在 DBNull 前面,但仍然没有。

将(对象)添加到该字段有效!

谢谢。

0 投票
2 回答
239 浏览

mysql - 更新、外键约束和空值

我正在用 C# 生成一个数据模板。在这个精彩网站上的好人的帮助下,我已经设法处理了几乎所有问题。这应该是最后一个问题。因为它是我正在处理的模板,所以我想要表中的每个字段,包括空值。我在如何通过添加 (object)this.field 来更新空值方面得到了帮助?DBNull.Value 但我有一个外键字段,即使当我查看数据库时它显示为 null,但当我提取记录时,值变为 0。当我尝试更新此字段时,它说我违反了外键约束。我该如何解决这个问题?我认为空解决方案会起作用,但它不显示为空,它显示为 0。

谢谢

0 投票
13 回答
51667 浏览

c - NULL 总是假的吗?

假设NULL在 C 中总是转换为 false 是否安全?

还是应该对 的值进行明确的检查NULL

0 投票
3 回答
3466 浏览

validation - 企业库验证块 - 验证可为空的属性?

我正在尝试对可空属性(例如 int)进行验证。

例子

但是,如果我设置Age为 null 验证失败,因为它不在范围内,我知道我也需要一个[ValidatorComposition(CompositionType.Or)],但我还应该使用什么?