--------------------------------------------------------
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
@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连接 所以还是执行两遍吧
但是 你直接声明两个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
@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连接 所以还是执行两遍吧
但是 你直接声明两个SqlCommand
插完一个库后接着插第二个库就可以了
以前我反正是这样做的
con.Open();
com1.ExecuteQuery();
con.Close();
con.Open();
com2.ExecuteQuery();
con.Close();
因为你的com只能基于一个con连接 所以还是执行两遍吧
#7
使用transaction