快速业务通道

基于.NET平台的Windows编程实战(七)问卷统计功能的实现(下)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

2.合并统计的实现

基于.NET平台的Windows编程实战(七)问卷统计功能的实现(下)

图7-2

从上面的图中,想必大家已经猜到了问卷的合并方法了吧,是的,我们是通过从外部导入数据的方法来进行合并的,其设计的原型是这样来的:比如我们有20份收回来的问卷,分别由A某和B某2个工作人员进行统计,各统计10份,B某统计好了后,将其统计的数据库导出来并COPY给了A某,A某拿到B某的的数据库后,就可以通过上图7-2中的“浏览”查找到B某的数据库,并选择需要合并统计的问卷后,点“确定合并”,系统便可自行进行合并统计了。其实现的代码如下所示: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;//引入文件操作类库

namespace LJ_QuestionnaireSystem
{
 /**//// <summary>
 /// Name:合并问卷统计类
 /// Author:Asidy
 /// Time:2009.04.26gtf
 /// </summary>
 public partial class SurveyStUnite : SurveryWin
 {
  public SurveyStUnite()
  {
   InitializeComponent();
  }
   //初始化问卷列表:将问卷绑定到SurveyComBox控件上
  private void SurveyStUnite_Load(object sender, EventArgs e)
  {
  string sql = "Select id,Survey_Name From Lj_Survey";//查询问卷列表
  DataTable sdt = dboperate.GetDataTable(sql);//得到查询出的问卷数据表
  if (sdt.Rows.Count > 0)   //如果问卷存在则进行如下操作
  {
   SurveyComBox.DataSource = sdt; //设置SurveyComBox的数据源为sdt
   SurveyComBox.DisplayMember = "Survey_Name"; //将问卷名绑定到SurveyComBox列表项的显示属性上,用来显示问卷名
   SurveyComBox.ValueMember = "id"; //将问卷的ID值绑定到SurveyComBox列表项的实际值属性上,以便操作时获取其ID值进行查询
  }
 }
 /**//// <summary>
 /// 查找合并统计的数据库文件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void FindFolderBt_Click(object sender, EventArgs e)
 {
  OpenFileDialog opf = new OpenFileDialog();//实例化一个打开对话框对象
  opf.Filter = "Access数据库文件(*.mdb)|*.mdb";//设置文件类型
  opf.Title = "选择合并的数据库";//设置对话框标题
  opf.RestoreDirectory = true;//对话框关闭还原到当前目录
  if (opf.ShowDialog() == DialogResult.OK) //如果对话框返回OK,则执行如下操作
  {
   StatDbFileTxt.Text = opf.FileName; //将查找合并的数据库文件名赋值给StatDbFileTxt控件
  }

  opf.Dispose();//释放对话框所使用的资源
 }
 /**//// <summary>
 /// StatDbFileTxt中的内容改变时引发此事件
 /// 即当用户输入或选择合并的数据库时引发此事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void StatDbFileTxt_TextChanged(object sender, EventArgs e)
 {
  if (StatDbFileTxt.Text.Trim() != "") //如果StatDbFileTxt中的内容不为空时,执行如下操作,否则弹出提示对话框
  {
   SureUniteBtn.Enabled = true;//将"确定合并"按钮设置为可操作状态
   CancelBtn.Enabled = true;
   try
   { //捕获异常
    if (StatDbFileTxt.T

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号