代码之家  ›  专栏  ›  技术社区  ›  James

LinqDataSource-是否可以使用dbnull值的默认插入参数?

  •  1
  • James  · 技术社区  · 14 年前

    我需要在一个服务器上做一些简单的数据绑定和CRUD类型的操作ASP.Net第页。我正在使用与FormView连接的LinqDataSource。我尝试插入的表中有以下字段的默认限制:

    [Created] [datetime] NOT NULL
    [CreatedBy] [nvarchar](50) NOT NULL
    [Modified] [datetime] NOT NULL
    [ModifiedBy] [nvarchar](50) NOT NULL
    
    ALTER TABLE [dbo].SolutionComponent ADD  CONSTRAINT [DF_SolutionComponent_Created]  DEFAULT (getdate()) FOR [Created];
    ALTER TABLE [dbo].SolutionComponent ADD  CONSTRAINT [DF_SolutionComponent_CreatedBy]  DEFAULT (suser_sname()) FOR [CreatedBy];
    ALTER TABLE [dbo].SolutionComponent ADD  CONSTRAINT [DF_SolutionComponent_Modified]  DEFAULT (getdate()) FOR [Modified];
    ALTER TABLE [dbo].SolutionComponent ADD  CONSTRAINT [DF_SolutionComponent_ModifiedBy]  DEFAULT (suser_sname()) FOR [ModifiedBy];
    

    在执行插入操作时,我得到了一个SQL Datetime溢出错误,因为它试图在Created和Modified中插入一个值,即使我没有将任何内容绑定到这些字段。

    我的问题是如何让LinqDataSource在insert语句中省略这些字段,或者至少提供dbnull或null以允许数据库级别的默认值接管?

    1 回复  |  直到 14 年前
        1
  •  0
  •   James Smith    14 年前

    我可能没有正确地阅读您的问题,但如果约束不允许空值,它将不起作用。

    推荐文章