【发布时间】:2014-02-24 05:41:36
【问题描述】:
我正在尝试将数据插入到有四列的指纹表中 - ID(主键) - StudentID(外键)链接到学生表 - 描述 - 模板
但以下错误不断出现。我无法关闭 ID 的 IDENTITY,因为我希望它自动递增。我还有一个学生表来存储信息。我想要实现的是在输入学生详细信息后,我想将之前生成的学生ID复制到指纹表 - StudentID 列。我为此提供的代码如下所示。
private void btnSave_Click(object sender, EventArgs e)
{
fgrTemplate template = new fgrTemplate();
template.StudentID = std.StudentID;
template.Description = fngDes.Text;
template.Template = m_StoredTemplate;
if (upload.InsertTemplate(template))
{
MessageBox.Show("Student Successfully Added!");
}
else
{
MessageBox.Show("Student Not Successfully Added!");
}
using (SqlCommand com = new SqlCommand("INSERT INTO tblFingerprint (StudentID, Description, Template) values ('" + template.StudentID + "' ,'" + template.Description + "' ,@Template)", cn))
这就是我的网络服务中的内容。但是它给了我错误
【问题讨论】:
-
不要将 ID 列添加为插入的一部分。
Insert Table (strcolumn1, strcolumn2) values (1,2)Table(id int, strcolumn1 varchar(1), strcolumn2 varchar(2)) -
您在 INSERT 语句中传递了
ID值,ID作为身份类型应该获得一个自动递增编号。请参阅linked question 并在问题中发布您的相关代码。
标签: c# sql sql-server web-services sql-server-2008