【发布时间】:2016-06-07 21:23:06
【问题描述】:
我正在尝试插入一个新人的数据,我可以在第一次尝试时,但在第二次尝试时会出现违反主键的错误,事实上,每次都会增加人员 ID (personId)正在尝试添加一个新人,所以我意识到错误是主键
餐桌人
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();
}
有什么建议吗?
【问题讨论】:
-
转到您的数据库架构并更改 personID 列,添加 IDENTITY 属性。然后删除任何为自己设置 personID 值的尝试
标签: c# sql-server