我连接到SQL Server Compact Edition数据库。其中一个表有3列 - CompanyID,CompanyName和CompanyNotes。我在Visual Basic中创建了一个表单,将新公司添加到数据库中,当然我不希望用户必须手动输入公司ID。
在dataset.xsd中,我创建了一个INSERT SQL查询,只需插入一个包含CompanyID,CompanyName和CompanyNotes的新行。我已将CompanyID设置为自动增量。但是,当我尝试插入名称和注释时,它不喜欢它,因为我将ID字段设置为必需。如何将新公司数据插入具有新ID的新行?
我目前用于添加新公司的基本代码:
Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click
Me.CompanyTableAdapter1.AddCompany(??????????, txtCompanyName.Text, txtCompanyNotes.Text)
Me.Close()
End Sub
我应该把什么代替'?????',或者我应该做一些完全不同的事情?
谢谢!
答案 0 :(得分:3)
只需省略SQL查询中的ID字段即可。
INSERT INTO company (CompanyName, CompanyNotes) VALUES (?, ?)
然后可以通过删除ID参数来简化您的方法:
Me.CompanyTableAdapter1.AddCompany(txtCompanyName.Text, txtCompanyNotes.Text)
答案 1 :(得分:0)
这应该在数据库级别使用自动递增标识规范来完成:
ALTER TABLE TableName ALTER COLUMN ColumnName IDENTITY (/*seed*/1, /*increment*/1)
一旦标识列就位,您可以在插入期间省略标识列,因为它将在插入时自动分配。