标识列的显式值
本文关键字:标识 | 更新日期: 2023-09-27 18:31:00
在
Visual Studio 2013中创建了一个数据库,主键属性增量选项为真,但仍然存在问题
类型为"System.Data.SqlClient.SqlException"的未处理异常 发生在系统数据中.dll
其他信息:无法插入标识的显式值 表"患者"列(当IDENTITY_INSERT设置为 OFF 时。
法典:
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Patient (PId, FirstName, LastName, ContactNumber, Address, Gender, PatientRecord) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + comboBox1.Text + "','" + textBox6.Text + "') ",con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Saved successfully");
是的,这必须是您在语句中包含INSERT
Identity
列的原因。 从查询语句中删除标识列,例如
INSERT INTO Patient (FirstName,LastName,ContactNumber,Address,Gender,PatientRecord) VALUES
同样,不要使用来自控件(如文本框)的串联数据运行查询,因为这容易受到SQL Injection
的影响。而是考虑使用 SqlParameter
的参数化查询。有关详细信息,请参阅 MSDN。