|
用代码来说要容易点吧: 表结构为 CREATE TABLE [dbo].[tInput] ( [CardID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [CardTime] [datetime] NOT NULL , [CartText] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO ALTER TABLE [dbo].[tInput] WITH NOCHECK ADD CONSTRAINT [IX_Input] UNIQUE NONCLUSTERED ( [CardID], [CardTime] ) ON [PRIMARY] GO 然后在VS2003里用oleDbDataAdapter生成数据集后如下操作: this.oleDbDataAdapter1.Fill(this.dataSet21); this.dataSet21.tInput.Rows.Clear(); this.dataSet21.tInput.AddtInputRow("1",DateTime.Today,"asdf"); this.dataSet21.tInput.AddtInputRow("1",DateTime.Today.AddMinutes(1),"asdf"); this.oleDbDataAdapter1.Update(this.dataSet21); 执行出现错误: 语句已终止。\r\n违反了 UNIQUE KEY 约束 'IX_Input'。不能在对象 'tInput' 中插入重复键。 到数据库里坚持,发现这两条数据已经添加到了表中。
请问,为什么回出现这样的错误?如何避免?谢谢
|