关于WEB问卷缺失数据校验程序的优化研究的论文.docVIP

  • 3
  • 0
  • 约2.76千字
  • 约 8页
  • 2017-05-03 发布于广东
  • 举报

关于WEB问卷缺失数据校验程序的优化研究的论文.doc

关于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)

1亿VIP精品文档

相关文档