具体流程如下:
数据库tk包含了一个tk_nr的binary字段,这个字段保存的是试题内容,我现在想把用户组卷选择的题目拼成另外一个字段保存在库中,也就是八tk_nr中选中的记录合并成一条记录存到数据库中。
各位大虾有谁解决过这种问题不吝赐教阿!
数据库tk包含了一个tk_nr的binary字段,这个字段保存的是试题内容,我现在想把用户组卷选择的题目拼成另外一个字段保存在库中,也就是八tk_nr中选中的记录合并成一条记录存到数据库中。
各位大虾有谁解决过这种问题不吝赐教阿!
我现在想把用户组卷选择的题目拼成另外一个字段保存在库中,也就是八tk_nr中选中的记录合并成一条记录存到数据库中
--------------------
最好还是不要提取字段的部分信息------------------------
如果题库存在多个word文件中,相应的数据源改造是免不了的,可以将word文档升级到2003,使用office的api提取每道试题不知道理解的对不对
我的试题是分别存储的,库表如下:
create table TK_QUESTIONS(
Q_ID VARCHAR2(17) PRIMARY KEY, --试题ID为级别ID12+5位流水号
questions varchar2(2000), --题干内容
answers varchar2(2000), --答案内容
Photo_path varchar2(100), --图片保存路径及文件名
Media_path varchar2(100), --多媒体保存路径及文件名
Q_Type varchar2(20),--题型
Q_dif varchar2(20),--难度
Q_status varchar2(2), --状态标志:1-可用,0-禁用
Q_Per number(2,1), --分值
Q_Important varchar2(2), --重要程度
Q_Action varchar2(2), --行为领域
MODIFY_TIME date, --修改时间
IN_TIME date, --导入时间
sel_count number(6) --被抽中次数
);
我的想法是用户在组卷的时候实际操作的是q_id,在组卷成功以后保存这些q_ID,然后再根据q_id得到题目内容以及答案,将这些题目就保存到一个word文件中,再在网页上调用进行考试。
下面是试卷表设计
/*试卷主表*/
DROP TABLE TK_PAPERS;
create table TK_PAPERS(
P_ID VARCHAR2(3) primary key, --试卷ID
P_Name varchar2(200), --试卷名称
P_auth varchar2(20), --制作人
P_pub varchar2(4), --是否公开(公开,保密)
p_dept varchar2(10), --制作部门
p_test varchar2(2), --已经使用(是,否)
p_time number(2,1), --测验时长(单位:分钟)
p_auth_time date --制作时间
p_type varchar2(6) --试卷类型(练习卷,测验卷)
);/*试卷主表*/
DROP TABLE TK_PAPERS;
create table TK_PAPERS(
p_type_id number(3) primary key,
p_type varchar2(6) --试卷类型(练习卷,测验卷));/*试卷从表*/
DROP TABLE TK_PAPERS1;
create table TK_PAPERS1(
P_ID VARCHAR2(3) , --试卷ID
Q_seq number(3), --题目顺序
Q_ID VARCHAR2(12) , --试题ID,这里保留试题ID是为筛选试题作准备,只要在一套试卷中选中了的题目若不想在另一套试题使用,就可以判断这个字段
questions varchar2(2000), --题干内容
answers varchar2(2000), --答案内容
);
我现在碰到的问题有以下几点:
1.我不知道如何将提取后的q_id对应的题干组合起来保存到一个word文件中。一道binary的试题我可以成功保存,但是2道以上的我就不知道怎么做了。
2.word文件形式的试卷如何转变成网页形式让用户做题?
以下是我将一道试题导出来的code:private void Button1_Click(object sender, System.EventArgs e)
{
string sql="select st_nr from stid1 where st_id=1";
SqlConnection connection = new SqlConnection("Server=.;uid=sa;pwd=sa;Database=tksqldb_train");
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader dr = command.ExecuteReader();
if(dr.Read())
{
Response.Clear();
Response.AddHeader("Content-Type","application/msword");
Response.BinaryWrite((byte[])dr["st_nr"]);
}
dr.Close();
connection.Close();
}
现在我最着急的是如何将选出来的试题组合成一个word文件,希望各位大虾能给code我参考一下,非常感谢!
能详细介绍一下MCMS在这里怎么用么?我对这个不太熟悉,谢谢!
还是建议搂住用html将试题在web上输出,比较简单,答案也可以保存在数据库
没有细看楼主的设计,先回答第二个问题
我最初的想法是用html来在线考试,现在的问题是我对binary字段不熟悉,不知道怎么样才能将字段放置于.net的控件中,比如varchar2的我可以放置到textbox当中,可是binary字段中除了文本信息还含有图片信息,我就不知道怎么做了。