[英]How to make a field auto populate in C# Visual Studio?
Connection.Open();
SqlCommand Command = new SqlCommand(null, Connection);
Command.CommandText = "Insert into [EmployeeTable] (Forename,Surname,DateofBirth,Email address,Country,Address,City,Postcode,Skill1,Skill2,Skill3,Job1,Job 2,Job3,EmployeeAvailability) Values(@forename, @surname, @dateofbirth, @emailaddress, @phonenumber, @country, @address, @city, @postcode, @skill1, @skill2, @skill3, @job1, @job2, @job3, @employeeavailability)";
Command.Parameters.AddWithValue("@forename", ForenameInputBox.Text);
Command.Parameters.AddWithValue("@surname", SurnameInputBox.Text);
Command.Parameters.AddWithValue("@dateofbirth", DoBInputBox.Text);
Command.Parameters.AddWithValue("@emailaddress", EmailInputBox.Text);
Command.Parameters.AddWithValue("@country", CountryInputBox.Text);
Command.Parameters.AddWithValue("@address", AddressInputBox.Text);
Command.Parameters.AddWithValue("@city", CityInputBox.Text);
Command.Parameters.AddWithValue("@postcode", PostcodeInputBox.Text);
Command.Parameters.AddWithValue("@skill1", Skill1InputBox.Text);
Command.Parameters.AddWithValue("@skill2", Skill2InputBox.Text);
Command.Parameters.AddWithValue("@skill3", Skill3InputBox.Text);
Command.Parameters.AddWithValue("@job1", Job1InputBox.Text);
Command.Parameters.AddWithValue("@job2", Job2InputBox.Text);
Command.Parameters.AddWithValue("@job3", Job3InputBox.Text);
Command.Parameters.AddWithValue("@employeeavailability", EmployeeAvailablityBox.Text);
Command.ExecuteNonQuery();
Connection.Close();
}
}
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)
);
我創建了一個表來存儲有關員工的詳細信息,但是在嘗試保存輸入時會出現錯誤消息。 錯誤消息如下:
System.Data.dll中發生了類型為'System.Data.SqlClient.SqlException'的未處理異常。其他信息:無法將值NULL插入表'C:\\ USERS \\ USER \\ DOCUMENTS \\ VISUAL STUDIO 2015 \\的列'EmployeeID'中項目\\ WPFAPPLICATION \\ WPFAPPLICATION1 \\ EMPLOYEEDB.MDF. dbo.EmployeeTable'; 列不允許為空。 INSERT失敗。 該語句已終止
我認為這是因為沒有將任何值輸入到EmployeeID字段中,因此,如果這是導致錯誤消息的原因,那么我該如何使其每次生成一個新的員工ID並填充該字段呢?
標准方法是使該列成為IDENTITY
列:
[EmployeeID] INT IDENTITY(1,1),
然后,數據庫將在每次插入時自動生成一個數字。 這具有保證唯一性的額外好處,這很重要,因為此列也用作您的主鍵。 而且由於IDENTITY
始終是一個遞增的值,因此,作為CLUSTERED
索引也可以很好地解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.