【www.gdgbn.com--.Net开发】

三、调查表单的生成与结果分析
    作 者 : 仙人掌工作室
    
       PollWriter.asp先检查表单变量,包括调查项目名字PollName以及(可选的)字符串LinkText和LinkURL,LinkText和LinkURL描述了用户提交其投票结果之后显示的URL。接下来脚本创建并执行从指定调查项目的S_表和A_表提取记录集的SQL命令,然后遍历这个记录集格式化单选按钮、复选框以及其它提示文本,最后输出该调查项目的HTML表单。表单中问题的名字为“CHOICE”加问题序号。当这个表单被提交的时,它的ACTION将装载PollMaker.asp(这里的函数saveResponses()从CHOICE表单元素提取投票结果,然后更新数据库,代码略)。表单中的其它隐藏变量用于将PollName、OpType、LinkText、LinkURL传递给PollMaker.asp:
    
    
     < %
     " 从S_表和A_表读取调查项目定义
     Set objConn = Server.CreateObject("ADODB.Connection")
     objConn.Open "poll"
     SQLCommand = "Select " & SName & ".ID, " & _
      "IType, NoOpinion, Stem, ALabel, Answer FROM " & SName & "LEFT JOIN " & _
      AName & " ON " & SName & ".ID = " & AName & ".ID ORDER BY " & _
      SName & ".ID, ALabel"
     Set objRS = objConn.Execute(SQLCommand)
     " 向调查表单输出各个问题
     Do While Not objRS.EOF
      Response.Write("< TR>< TD>" & objRS("ID") & ".< TD BGCOLOR=""#ffff00"">" & _
      objRS("Stem"))
      Response.Write("< TR>< TD>< TD>")
      ckNoOpinion = IIf(objRS("NoOpinion") = "Y", "", "Checked")
      noMove = False
      " 除"允许复选",其它各类问题均需检查是否允许不回答问题

本文来源:http://www.gdgbn.com/asp/8115/