新手:vb.net中在明细表中插入主表的ID

时间:2022-07-11 21:40:30
新手提问:

有个订单主表,结构为:

CREATE TABLE orders
(
ID INT NOT NULL IDENTITY(1,1)
CONSTRAINT PK_T1 PRIMARY KEY,
DATACOL VARCHAR(20) NOT NULL
CONSTRAINT CHK_T1 CHECK(DATACOL LIKE '[A-Za-Z]%')
);
---------------------------------------------------------------------------------------------------------
订单明细表,结构为:
CREATE TABLE orderDetails
(
ID INT NOT NULL,
DATA NVARCHAR(100) NULL
);
---------------------------------------
alter table orderDetails
add CONSTRAINT FK_T1 FOREIGN KEY(id)
REFERENCES orders(ID);
-------------------------------------------------------------------------------------------------------------
一、如果主表和明细表都填写数据后,保存单据:

在插入主表数据时,获取主表的ID,作为明细表的ID
DECLARE @ID INT;

INSERT INTO orders(DATACOL)
VALUES('ABCD');

SET @ID=SCOPE_IDENTITY()

INSERT INTO orderdetails(ID,DATA)
VALUES(@ID,NULL)
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
如果我生成单据时,第一次,只填写主表的信息,先保存了。
第二次,调出单据来编辑,生成单据,这时候,我怎么来获取主表的ID作为子表的ID呢??



4 个解决方案

#1


调出单据来编辑
这个时候ID也取出来了,一般放在url里面或者隐藏表单元素里面的,你编辑的时候如果没有ID,你怎么判断编辑的是哪条记录呢

编辑的时候是update

#2


既然能把主表的数据调出来,为何就不能取到主表的ID呢???

#3


该回复于2015-11-16 10:12:31被管理员删除

#4


瞎掰什么,主表出了,子表还找不到吗

#1


调出单据来编辑
这个时候ID也取出来了,一般放在url里面或者隐藏表单元素里面的,你编辑的时候如果没有ID,你怎么判断编辑的是哪条记录呢

编辑的时候是update

#2


既然能把主表的数据调出来,为何就不能取到主表的ID呢???

#3


该回复于2015-11-16 10:12:31被管理员删除

#4


瞎掰什么,主表出了,子表还找不到吗