上图是我考卷的表的设计,设计也许很多地方不恰当,还望前辈们多多批评。
我现在写了一个存储过程并嵌套事务,在存储过程中把参数和sql语句码好,才发现参数太多了,我就百度看看存储过程能否接收c#对象,如果可以接收这个C#对象,那么就能实现,只需连接数据库一次,就能将一张试卷的题分别写入表中。
上图只能添加一部分数据并且还得连接多次数据库才能将数据插入完。
请教各位前辈们,如果要将试卷上的数据插入数据库,使用何种方法会更为恰当。辛苦大家展示下能解决我当前实际需求的代码,分数绝对不少给!
1、向试题表插入数据
insert into [dbo].[ExaminationQuestions]
(ExaminationQuestionsTitle, ReleaseTime, ExaminationQuestionsTotalScore, MarkingTime,
ModifyQuestion, StateMark, DeleteMark)
values
(
'2015年北京高考卷',GETDATE(),100,dateadd(day,10,getdate()),
GETDATE(),0,0
)
2、--向子题表中插入一条数据(大题下的子题)
insert into [dbo].[ChildQuestions]
(ExaminationQuestionsId, QuestionsId, QuestionsTitle, QuestionsScore, QuestionsMark, StateMark, DeleteState)
values
(
1,'二','简答题',20,3,0,0
)
3、 --向子题下的小题表中插入一条数据,选择题
select * from [dbo].[SelectionSet]
insert into [dbo].[SelectionSet]
(
ChildQuestionsId, SelectionSetId, SelectItem,SelectTitle,
QuestionsAnswer, SelectItemContent, Score, QuestionsMark,
StateMark, DeleteMark
)
values
(
1,1,'D','请回答谁最帅气!','','CC最帅啦!',2,1,0,0
)