- 3
- 0
- 约2.76千字
- 约 8页
- 2017-05-03 发布于广东
- 举报
关于WEB问卷缺失数据校验程序的优化研究的论文.doc
关于WEB问卷缺失数据校验程序的优化研究的论文
摘要 减少缺失数据是提高“问卷有效率”的重要环节。本文主要根据统计分析的要求,从技术角度微观地探讨如何在asp中利用数据库技术防止缺失数据,即通过recordset对象中fields集合的字段名(fields().name)与网络问卷表单的对象名(name)进行关联,巧妙地优化缺失数据校验程序,从而设计出更简洁、灵活且不受问卷试题规模影响的校验程序,增强了=50;
‘试题总量
var n=5;
‘每道试题的预置答案数目
function checkradio()
{var yesno
‘当前试题无缺失时为1,否则为0
var i=0
for (i=0;ilt;m;i++)
{yesno=0
‘每个试题开始检测时均假设为缺失
for(var j=0;jlt;n;j++)
{if (document.forms[0].elements[i*5+j].checked)
‘如果当前试题有答案被选中时
{yesno=1;break;}
‘标识为无缺失
}
if (yesno==0)
‘如果此题出现数据缺失时
break;
‘停止检测
}
if (ilt;m)
‘m道题中有一个试题出现缺失数据
{(每个题都要求选择,您第+(i+1)+题没选,请选择!); }
‘提示出现缺失数据的题号
else
‘无缺失数据则将数据发送给asp处理
{
document.form1.method=post
document.form1.action=survey.asp
document.form1.submit()
}
}
lt;/scriptgt;
2.2 针对混合形式的问卷
问卷形式往往不只包含某一类型的单选对象而是混合型的。这时就需要先将各种类型的对象进行分组(这样做也有利于数据的存储程序的编写)。比如将两点形式的分为a类(对象名则为a1,a2,a3…),三点形式的分为b类(对象名则为b1,b2,b3…),复选按钮为c类(对象名则为c1,c2,c3…)等。在分类时为了便于程序编写,不得不将同类型的对象安排在一起。然后用上述方法进行处理。
当然,对于混合形式的问卷,较好的算法还可将数据暂时存入cookies、临时文本文件或临时数据库中的表中,然后通过asp的vbscript程序进行校验处理。这样就没必要在物理上将同类型的对象安排在一起,而只要将同质的对象逻辑分组命名即可。
以暂存于临时数据库的表为例,在添加数据时,考虑试题数量所造成变量列表过长,即书写sql的insert语句过长的问题,我们可以用以下方法实现:(以某a组为代表)
步骤一:设计数据库中表的字段,保证字段名与相应的对象名一致。比如字段为“a1”则相对应的表单中的对象名也需设置为“a1”;
步骤二:通过下例程序将a组所有对象的名(name)组成一个串,并将所对应的值(value)也组成一个串。(省略了数据库连接操作)
namestring=(
‘insert 语句的字段列表
valuestring=(
‘insert语句与字段相对应的值的列表
for i=1 to n
‘n为a组对象的个数
namestring = namestring ai,
if len(request.form(ai))gt;0 then
‘a组的变量名均a开头
valuestring=valuestringrequest.form(ai),
‘填写或选择了的值为实际值
else
valuestring=valuestring/,
‘没有填或选的均存为”/”记号
end if
next
以上程序需注意两个问题:一、数据库的字段类型均设为字符型或文本型,否则会程序因为数据类型不匹配而出错;二、对字串变量valuestring最后的”,”要进行处理。
步骤三:在与数据库实现连接后,利用recordset对象将记录存储到临时表temp中:
sqlstr=insert into temp namestring values valuestring ‘temp为临时表
set rs=db.execute(sqlstr)
步骤四:根据第二步设置可知,凡值为“/”的便是缺失数据。我们只需利用vbscript对临时数据库的各数据项进行判断并作出相应处理即可。
3新的算法:利用fields集合进行优化
以上方法虽可行,但仍很烦琐。下面我们讨论一种更简洁、更灵活、更通用的方法,即利用recordset对象中fields集合的字段名(fields().name)与网络问卷表单的对象名(name)进行关联来实现。
步骤一:建立表单和数据库,将表单的对象名(name或id)与数据库中表的字段名一一对应(和上面的步骤一相同)。凡要求进行缺失数
原创力文档

文档评论(0)