张军勇 发表于 2020-7-23 21:32:30

说一说平台数据表的默认值何时产生

在度量开发平台数据库设计时,每个字段会有一项是默认值,如下图:


这个默认值,实际上和数据库本身的默认值不一样,这个默认值是基于平台的默认值,表达式也是基于平台的。也就是说,这儿的设置并不会影响到数据库本身的结构,而是在平台层进行的处理。那么,这个值什么时候会产生有数据呢?
实际上,它是在数据新建的时候,平台就会运算表达式,得出默认值,主要依托于读写业务表,部件绑定某读写业务表时,新建记录时便会产生默认值。
比如记录部件新建数据产生新记录时,记录产生完成默认值就有了。
其余部件,如网格部件、树型部件、文档部件等的新建数据,都会处理默认值。




有些情况不处理默认值,比如直接用sql语句的方式来读取数据形成DataTable,在往DataTable里新加数据时,这种情况脱离了读写业务表,所以不会有默认值产生。
多多理解默认值产生机制,有助于更好的利用平台构建系统。

张军勇 发表于 2020-7-23 21:34:16

沙发个人坐。

张军勇 发表于 2020-7-23 21:52:26

和自动填充的区别就是自动填充可以设置条件,如某个依赖字段变化时填充,而默认值则是由新数据产生的时候就产生。

张军勇 发表于 2020-7-23 22:02:31

如果不设置默认值,我们在窗体中,数据新增之后(如:记录部件.AddNew())之后,也可以对其进行设置。
如:记录部件.SetFieldValue("ID",guid())
也可以达到同样的效果。

王爱东 发表于 2020-7-23 23:43:19

各种方法都可以实现,就是要灵活。

刘亚东 发表于 2020-7-24 12:19:32

所以这个默认值不是oracle或者SQLSERVER数据表里面设置的默认值。{:2_26:}

张兴康 发表于 2020-7-24 12:43:46

怎么方便怎么来

万望 发表于 2020-7-24 13:07:48

阅君一贴,茅塞顿开{:2_30:}

张军勇 发表于 2020-7-24 21:30:24

大家理解原理,方便更好的构建。

陈晓龙 发表于 2020-7-25 21:29:28

这个默认值太常用了。带来了不少便利!{:3_48:}
页: [1]
查看完整版本: 说一说平台数据表的默认值何时产生