我試圖插入一個新的人的數據,我可以在第一次嘗試,但是當第二次嘗試和第二次嘗試給出錯誤違反主鍵,事實上,人ID(PERSONID)是它試圖添加一個新的人,每次遞增,所以我才意識到錯誤是主鍵違反PRIMARY KEY約束。不能在對象中插入重複的鍵 - ADO.NET
表人
CREATE TABLE [dbo].[Person] (
[personID] INT NOT NULL,
[personName] VARCHAR (50) NOT NULL,
PRIMARY KEY CLUSTERED ([personID] ASC)
);
方法來創建並插入新的人
protected void BtnCreate(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection(connectionString);
//id to new person
int id = 0;
//command
string command = "INSERT INTO [Person] ([personID], [personName]) VALUES (@id, @name)";
SqlCommand cmd = new SqlCommand(command, connection);
cmd.Parameters.AddWithValue("@id", id++);//id increase
cmd.Parameters.AddWithValue("@name", name.Text);
connection.Open();
cmd.ExecuteNonQuery();
connection.Close();
}
a建議嗎?
轉到您的數據庫模式並更改添加IDENTITY屬性的personID列。然後刪除任何嘗試爲自己設置personID – Steve