如何在C#Visual Studio中自动填充字段?
} )) 我创建了一个表来存储有关员工的详细信息,但是在尝试保存输入时,会显示一条错误消息。 错误消息如下所示: System.Data.dll中发生类型为“System.Data.SqlClient.SqlException”的未处理异常。其他信息:无法将值NULL插入表C:\USERS\USER\DOCUMENTS\VISUAL STUDIO 2015\PROJECTS\WPFAApplication\WPFAApplication 1\EMPLOYEEDB.MDF的“EmployeeID”列中。dbo.雇员表';列不允许空值。插入失败。声明已被终止如何在C#Visual Studio中自动填充字段?,c#,visual-studio,C#,Visual Studio,} )) 我创建了一个表来存储有关员工的详细信息,但是在尝试保存输入时,会显示一条错误消息。 错误消息如下所示: System.Data.dll中发生类型为“System.Data.SqlClient.SqlException”的未处理异常。其他信息:无法将值NULL插入表C:\USERS\USER\DOCUMENTS\VISUAL STUDIO 2015\PROJECTS\WPFAApplication\WPFAApplication 1\EMPLOYEEDB.MDF的“EmployeeID”
我假设这是因为EmployeeID字段中没有输入任何值,那么我如何使其每次生成一个新的员工ID并填充该字段,假设这是错误消息的原因?标准方法是将该列设置为
标识列:
CREATE TABLE [dbo].[EmployeeTable] (
[EmployeeID] INT NOT NULL,
[Forename] NVARCHAR (50) NOT NULL,
[Surname] NVARCHAR (50) NOT NULL,
[DateofBirth] DATETIME NOT NULL,
[Emailaddress] NVARCHAR (50) NOT NULL,
[Country] NVARCHAR (50) NOT NULL,
[Address] NVARCHAR (50) NOT NULL,
[City] NVARCHAR (50) NOT NULL,
[Postcode] NVARCHAR (50) NOT NULL,
[Skill1 ] NVARCHAR (50) NOT NULL,
[Skill2] NVARCHAR (50) NOT NULL,
[Skill3] NVARCHAR (50) NOT NULL,
[Job1] BIT NOT NULL,
[Job2] BIT NOT NULL,
[Job3] BIT NOT NULL,
[EmployeeAvailability] BIT NOT NULL,
PRIMARY KEY CLUSTERED ([EmployeeID] ASC)
然后,数据库将在每次插入时自动生成一个数字。这还具有保证唯一性的额外好处,这一点很重要,因为此列也被用作主键。由于标识
总是一个递增的值,因此作为一个聚集的
索引也会非常有效
CREATE TABLE [dbo].[EmployeeTable] (
[EmployeeID] INT NOT NULL,
[Forename] NVARCHAR (50) NOT NULL,
[Surname] NVARCHAR (50) NOT NULL,
[DateofBirth] DATETIME NOT NULL,
[Emailaddress] NVARCHAR (50) NOT NULL,
[Country] NVARCHAR (50) NOT NULL,
[Address] NVARCHAR (50) NOT NULL,
[City] NVARCHAR (50) NOT NULL,
[Postcode] NVARCHAR (50) NOT NULL,
[Skill1 ] NVARCHAR (50) NOT NULL,
[Skill2] NVARCHAR (50) NOT NULL,
[Skill3] NVARCHAR (50) NOT NULL,
[Job1] BIT NOT NULL,
[Job2] BIT NOT NULL,
[Job3] BIT NOT NULL,
[EmployeeAvailability] BIT NOT NULL,
PRIMARY KEY CLUSTERED ([EmployeeID] ASC)
[EmployeeID] INT IDENTITY(1,1),