В своем запросе я не использую поле первичного ключа, потому что настройка идентичности включена.
string sql = @"
INSERT INTO [tblTemplates] (personID, hash, data)
VALUES (@personID, @hash, @data)";
cmd = new SqlCeCommand(sql, cn);
cmd.Parameters.AddWithValue("@personID", newTemplate.personID);
cmd.Parameters.AddWithValue("@hash", newTemplate.templateHash);
cmd.Parameters.AddWithValue("@data", newTemplate.templateData);
cmd.ExecuteNonQuery();
Случайно я могу или не могу вставить запись, тогда выброшенное исключение :
Невозможно вставить повторяющееся значение в уникальный индекс.
[Имя таблицы = tblTemplates, Имя ограничения = PK_ tblTemplates _templateID]
Это схема таблицы:
-- Script Date: 26.08.2011 10:37 - Generated by ExportSqlCe version 3.5.1.5
CREATE TABLE [tblTemplates] (
[templateID] int NOT NULL IDENTITY (1,1)
, [hash] nvarchar(100) NOT NULL
, [data] image NOT NULL
, [personID] int NOT NULL
);
GO
ALTER TABLE [tblTemplates] ADD CONSTRAINT [PK__tblTemplates__templateID] PRIMARY KEY ([templateID]);
GO
CREATE INDEX [IDX_tblTemplates_personID] ON [tblTemplates] ([personID] ASC);
GO
CREATE UNIQUE INDEX [UQ__tblTemplates__templateID] ON [tblTemplates] ([templateID] ASC);
GO
Почему я получаю эту ошибку?