现有一数据库存有数万考生作文,如何避免两个评卷老师都评同一个学生?请高手赐教(100分)

  • 主题发起人 主题发起人 lcl800
  • 开始时间 开始时间
或用存储过程来更新评卷状态,取回评卷内容,如何?

 
看看操作系统方面的书籍吧。

我觉得

while (TABLEFIELD<>“正在评卷”) and (TABLEFIELD<> "评卷结束“) do
begin
IF 更新操作成功(UPDATE table set TABLEFIELD=“正在评卷”) then
begin
评卷
....
UPDATE table set TABLEFIELD= "评卷结束“ (更新操作)
end
next
end
(字段TABLEFIELD 表示评卷状态)


这种方法才是正确的。
 
我有一个办法:
加一张表TABLE1,记录正在评和评过的试卷的ID号;
一个老师查询出未评的试卷,就试图把ID号插入TABLE1,当然不可能插入相同的两条记录
所以就不可能两个老师改同一张试卷。
 
这个问题很像是订票问题,一个座位如何才不会被订两次。
在VF中,可以锁定记录,但是SQL SERVER好像不能。
大家是否还有什么好办法,关于用事务控制,是否能说清楚一点。
 
如果根据操作系统上说的。那么

当两个人同时进行取试卷,两人先后都对TABLEFIELD进行操作,如果第一人更新后,
第二个人也可以更新成功,因此,我觉得这种方法行不通,愿意听听大家发表意见。
 
好好考虑我的建议,简单又有效
 
可以采用增加一个字段的方法,当该考生的作文已经有人评阅时,置为“1”,否则为“0”;
或者在应用程序里用一布尔型数组,数组编号代表考生作文在数据库中的行编号,
有人评阅时,置为True,否则为False。
 
先把考卷平均分配给各个评卷老师不就没这问题了?
 
同意 lollman 的建议.但没有必要一次分完。
每人分几份评完了在从没有分的里给分几份,
没完的继续。
 
当一个老师家标志时,同时另一个老师也在检索,
两个老师都给同一个考生加标志,怎么办?
这是不可能的!两个老师总有先后
 
你可在数据库中增加一个字段来保存数据的当前状态(1:正在处理;2:未处理;3:处理完成),在打开一个记录前先读取该数据段中的信息
 
chdjob-5,devexpress-5,encounter-5,htw-5,Liulang-5,
lollman-5,mdc-5,movax-5,mtj-5,renyi-5,smallbs-5,
sthsm-5,vickymade-5,watter-5,wwr74-5,yanlianfu-5,
zhy111-5,妄语-5,小小武-5,幸福鸟-5,
感谢各位的回答!
问题解决了,采用的是大家建议的方法,
谢谢!
 
后退
顶部