两个表如何同时插入数据问题?(请帮忙,谢谢)急~~

时间:2022-07-26 13:58:53
各们大哥,今天我做到一个Asp.net(vb)程序,简单描述一下,是一个工作人员登记表,主要字段如下:
--------------------------------------------------------
ID | 工作类别| 工作时间| 工作性质| 工作部门 |工作日志等|
--------------------------------------------------------
|    |        |          |        |          |          |
|--------------------------------------------------------
|    |        |          |         |          |         |
--------------------------------------------------------
|人|         姓名|  性别|    年龄|   联系电话| 家庭住址|
|员|----------------------------------------------------|
|情|在职人员|    |       |       |           |          |
|况|情况    |--------------------------------------------
|表|        |    |        |         |         |         |
|  |-----------------------------------------------------
|  |离职人员|    |        |         |          |         |
|  |        |--------------------------------------------- 
|  |情况    |     |        |        |           |        |
----------------------------------------------------------
现在问题是我如何一次性将这个页面上的所有数据提交写入数据库?因为人员情况表中的"在职人员情况"和"离职人员情况"的数目条数不定,这样的话我提交保存时只能保存一条记录,那如何"在职人员情况"和"离职人员情况"的数目有好几条该怎么做?或者专门再建一个独立的表"人员情况"把上面的基本信息"ID | 工作类别| 工作时间| 工作性质| 工作部门 |工作日志等|"做为一个表"Main表",二者怎么才能协同关联?请各位高手指点,在线等待,谢谢~~

7 个解决方案

#1


用事务,可以保证一致性

#2


谢谢,可以举个这方面的例子吗?或者外面的相关链接?

#3


create proc proctest
@a varchar(50),@b varchar(50),@c varchar(50)
as
begin
insert into ta(x,) values(@a)
insert into tb(x,y) values(@a,@b)
insert into tc(x,y,z) values(@a,@b,@c)
end

#4


谢谢两位,问题已经解决!给分!

#5


你弄的可真麻烦.直接在人员情况表里加个离职情况字段不就完了!

#6


同时我不敢保证
但是 你直接声明两个SqlCommand
插完一个库后接着插第二个库就可以了

以前我反正是这样做的
con.Open();
com1.ExecuteQuery();
con.Close();

con.Open();
com2.ExecuteQuery();
con.Close();

因为你的com只能基于一个con连接 所以还是执行两遍吧

#7


使用transaction

#1


用事务,可以保证一致性

#2


谢谢,可以举个这方面的例子吗?或者外面的相关链接?

#3


create proc proctest
@a varchar(50),@b varchar(50),@c varchar(50)
as
begin
insert into ta(x,) values(@a)
insert into tb(x,y) values(@a,@b)
insert into tc(x,y,z) values(@a,@b,@c)
end

#4


谢谢两位,问题已经解决!给分!

#5


你弄的可真麻烦.直接在人员情况表里加个离职情况字段不就完了!

#6


同时我不敢保证
但是 你直接声明两个SqlCommand
插完一个库后接着插第二个库就可以了

以前我反正是这样做的
con.Open();
com1.ExecuteQuery();
con.Close();

con.Open();
com2.ExecuteQuery();
con.Close();

因为你的com只能基于一个con连接 所以还是执行两遍吧

#7


使用transaction