好的,我设法把这两张桌子连接起来:
CREATE TABLE [dbo].[T_Artikli] (
[ArtikliId] INT IDENTITY (1, 1) NOT NULL,
[Naziv] NVARCHAR (100) NOT NULL,
[Sifra] VARCHAR (13) NOT NULL,
[Vp] FLOAT (53) NOT NULL,
[MP] FLOAT (53) NOT NULL,
[Napomena] NVARCHAR (300) NOT NULL,
PRIMARY KEY CLUSTERED ([ArtikliId] ASC)
);和
CREATE TABLE [dbo].[T_Stanje] (
[StanjeId] INT IDENTITY (1, 1) NOT NULL,
[Trenutno] INT NOT NULL,
[Naruceno] INT NOT NULL,
[Datum] DATE NOT NULL,
[Firma] NVARCHAR (40) NOT NULL,
[ArtiklId] INT NOT NULL,
PRIMARY KEY CLUSTERED ([StanjeId] ASC),
CONSTRAINT [FK_T_Stanje_T_Artikli] FOREIGN KEY ([StanjeId]) REFERENCES [dbo].[T_Artikli] ([ArtikliId])
);就像一种魅力。当涉及到删除其中一个表行时,我做了如下简单的操作:
删除Artikl表时(ArtiklId和ArtikliId不是一个错误:D )
string deleteSql =
"DELETE FROM T_Stanje WHERE ArtiklId = @Id " +
"DELETE FROM T_Artikli WHERE ArtikliId = @Id;";删除Stanje表时
string deleteSql =
"DELETE FROM T_Stanje WHERE StanjeId = @Id;";这些功能也很有魅力,但是当我向Artikli和Stanje添加值,然后删除Stanje行时,我就无法为同样的Artikli添加新的Stanje。

发布于 2016-05-10 09:42:15
首先,您正在使用自动生成的标识。因此,您不能创建同一行。
第二,你引用了错误的外键
发布于 2016-05-10 09:37:28
问题就在这里
CONSTRAINT [FK_T_Stanje_T_Artikli]
FOREIGN KEY ([StanjeId])
REFERENCES [dbo].[T_Artikli] ([ArtikliId])你的外键不正确。它应该是:
CONSTRAINT [FK_T_Stanje_T_Artikli]
FOREIGN KEY ([ArtiklId])
REFERENCES [dbo].[T_Artikli] ([ArtikliId])发布于 2016-05-10 09:38:06
我认为
CONSTRAINT [FK_T_Stanje_T_Artikli]
FOREIGN KEY ([StanjeId])
REFERENCES [dbo].[T_Artikli] ([ArtikliId])应该是
CONSTRAINT [FK_T_Stanje_T_Artikli]
FOREIGN KEY ([ArtiklId])
REFERENCES [dbo].[T_Artikli] ([ArtikliId])https://stackoverflow.com/questions/37134515
复制相似问题