请教个有一定技术难度的问题

LS_2006 2007-10-15 09:17:46
请教个有一定技术难度的问题


设计一个答题系统,需要对成绩进行保存,

题目共90题,在一个页面中同时显示,例:

编号 题目 分值
1 #### 2
2 #### 5
3 #### 3

分值由答题者自行填写,答题完毕后,点提交

在数据保存的时候,我需要以这样的格式进行保存,


人员编号 题目1 题目2 题目3 ...... 题目90 答题日期
1001 2 5 3 20071015


像这样的数据存储,不知道各位是如何处理的.
...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2007-10-15
  • 打赏
  • 举报
回复
请教个有一定技术难度的问题
设计一个答题系统,需要对成绩进行保存,
题目共90题,在一个页面中同时显示,例:
编号 题目 分值
1 #### 2
2 #### 5
3 #### 3
-----------------------------------------------------
创建一个表TB1
create table tb1(人员编号 varchar(4), 编号 int ,题目 varchar(100),分值 int)
将对应考生的数据填入上表。
------------------------------------------------------------
分值由答题者自行填写,答题完毕后,点提交
在数据保存的时候,我需要以这样的格式进行保存,
人员编号 题目1 题目2 题目3 ...... 题目90 答题日期
1001 2 5 3 20071015
--------------------------------------------------------------
创建一个表TB2,
create table tb2(人员编号 varchar(4),题目1 int,题目2 int,...题目90 int,答题日期 datetime)

-------------------------------------------------------

可使用两种方法将数据插入到TB2种。

1。静态SQL
insert into tb2
select 人员编号,
sum(case 编号 when 1 then 分数 else 0 end) '题目1',
sum(case 编号 when 2 then 分数 else 0 end) '题目2',
...
sum(case 编号 when 90 then 分数 else 0 end) '题目90'
from tb1
group by 人员编号

2.动态SQL
declare @sql varchar(8000)
set @sql = 'insert into tb2 select 人员编号'
select @sql = @sql + ' , sum(case 编号 when ''' + cast(编号 as varchar) + ''' then 数量 else 0 end) [题目' + cast(编号 as varchar) + ']'
from (select distinct 编号 from tb1) as a
set @sql = @sql + ' from tb group by 人员编号'
exec(@sql)


guoli0813 2007-10-15
  • 打赏
  • 举报
回复
这个你可以写一个程序,然后在数据库中按照你上述得方式建立表,让程序自动插入近来就可以.
wgzaaa 2007-10-15
  • 打赏
  • 举报
回复
用什么都能做,数据库用列形式也行
jlwei888 2007-10-15
  • 打赏
  • 举报
回复
用PB做很简单!
数据库部分做成行形式的,
界面用PB的自由风格dW,就行
ojuju10 2007-10-15
  • 打赏
  • 举报
回复
行业转换比较的简单。

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧