Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#Visual Studio中自动填充字段?_C#_Visual Studio - Fatal编程技术网

如何在C#Visual Studio中自动填充字段?

如何在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”

}

))

我创建了一个表来存储有关员工的详细信息,但是在尝试保存输入时,会显示一条错误消息。 错误消息如下所示:

System.Data.dll中发生类型为“System.Data.SqlClient.SqlException”的未处理异常。其他信息:无法将值NULL插入表C:\USERS\USER\DOCUMENTS\VISUAL STUDIO 2015\PROJECTS\WPFAApplication\WPFAApplication 1\EMPLOYEEDB.MDF的“EmployeeID”列中。‌​dbo.雇员表';列不允许空值。插入失败。声明已被终止


我假设这是因为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),