我有一个 MS SQL 数据库。
在我的一个字段LotNumber中,我将默认值设置为[dbo].CalculateJulianDate,它是一个标量值函数,它采用当前日期并创建一个儒略日期格式的批号。
当我使用 SSMS 将值插入到表中时,会正确填充该值,用 LotNumber 替换空值。
我正在尝试在 Visual Studio 2010 中为数据库创建一个 Visual Basic Winforms 前端。我设置我的数据源,将详细信息视图拖到表单上,我可以查看数据、编辑数据和删除数据。但是,当我尝试插入新数据时,它会用NULL填充LotNumber字段。
我不明白为什么当从我的 winForms 应用程序中输入数据时,MS SQL 不使用默认值而不是NULL值。我的印象是,在 SQL 模式中设置默认值的目的是用默认值替换NULL值。
插入的代码是自动生成的,我似乎无法在我的应用程序中找到它。唯一可见的代码是:
Private Sub Dt_InventoryBindingNavigatorSaveItem_Click(sender As System.Object, e As System.EventArgs) Handles Dt_InventoryBindingNavigatorSaveItem.Click
Me.Validate()
Me.Dt_InventoryBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.CSRPRDDataSet)
End Sub
有谁知道为什么 SQL Server 没有像预期的那样插入默认值?如何从我的应用程序中获取要填充的默认值?