当前位置: 首页 > news >正文

论文选题系统

  一直以来,凭着对C#的兴趣在实践着C#带来的便捷~也是在实践中学习着原理。但是最近感到原理匮乏,所以正在恶补基础理论部分。对于我们主攻嵌入式的学生来说,C#都显得那么微不足道,更何况其高深的原理呢,但是既然打算深入的学习这样一种语言(可能因为VC带给我的除了占用资源少以外体会不到别的),就要学习的稍微透彻一点。

  毕业论文设计的时候,针对我们学校的实际情况,帮同学做了winform的“宿舍管理系统”,一直也想做一款手机“空余教室查询”系统,但是JAR的知识不太懂,所以只能后面慢慢探索,目前可以直接上手的,而且针对我们身边的情况,做出了这样一个小小的网页“论文选题系统”。我们上个学期论文选题采取的是抓阄的形式,一方面有人幕后选题,一方面班委也不好统计信息,所以网络随机抽题会很便捷。

  开发环境:VS2008+SQL2005

  数据库:

  2010073015084673.jpg2010073015083813.jpg

  用户及权限:

  学生----填写个人的信息,以方便老师与其联系。抽取题目,设置仅有一次抽取题目的机会,之后只能进入页面查看抽取结果和指导老师的联系方式

  老师----填写个人联系方式,录入个人需要指导的题目和限定专业,只有特定专业的学习可以参与写作。下载汇总表,包括个人指导学生的信息,专业,院系和全校学生的论文指导信息

  算法:

  随机抽题:为了保持高效的效率,已经被抽取的题目不参与下次随机数的计算。已经抽取的题目,会在数据库中对应学生的姓名,姓名为NULL的说明该题目可以被抽取,所以只要在SQL加上这个限定条件,再保证限定专业和学生专业一致即可。

  导出excel表格:首先需要绑定一个GridView控件,然后利用GridView控件的RenderControl()来输出数据

StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);

Page page = new Page();
HtmlForm form = new HtmlForm();

GridView1.EnableViewState = false;

page.EnableEventValidation = false; 

diseñadores RAD.
page.DesignerInitialize(); 

page.Controls.Add(form);
form.Controls.Add(GridView1);

page.RenderControl(htw);

Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=data.xls");
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.Default;
Response.Write(sb.ToString());
Response.End();

 

 

  注意要点:页面之间传递数据,不要使用静态成员变量,即便语法上合适,实际中总会出现找不到类名的错误,建议使用session,cookie等

       SQL语句判断字段是否为NULL,不能直接使用NULL或者"",常用做法是使用ISNULL函数

        

语法
ISNULL ( check_expression , replacement_value )

备注
如果 check_expression 不为 NULL,则返回它的值;否则,在将 replacement_value 隐式转换为 check_expression 的类型(如果这两个类型不同)后,则返回前者。

参数
check_expression 
将被检查是否为 NULL 的表达式。check_expression 可以为任何类型。

replacement_value 
当 check_expression 为 NULL 时要返回的表达式。replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。

返回类型
返回与 check_expression 相同的类型。

示例
A. 将 ISNULL 与 AVG 一起使用
以下示例查找所有产品的重量平均值。它用值 50 替换 Product 表的 Weight 列中的所有 NULL 项。

USE AdventureWorks;
GO
SELECT AVG(ISNULL(Weight, 50))
FROM Production.Product;
GO

 

 

  页面实例图片:

        2010073015253468.jpg

        2010073015265614.jpg

     

        2010073015271617.jpg

          2010073015274540.jpg

转载于:https://www.cnblogs.com/doucontorl/archive/2010/07/30/eassychioce.html

相关文章:

  • 使用Reflector查看闭包
  • 巧替换windows 7中的宋体 simsun.ttc
  • JavaScript学习笔记(二)——从简单开始学起
  • 切片地图服务使用Flex API编辑和更新切图
  • 敏捷宣言创始人:十年之后看“修炼”
  • ArcSDE vs. Oracle Spatial 17
  • 【转】人际关系经验
  • ArcSDE vs. Oracle Spatial 18
  • Entity Framework Code-First(下)
  • 《ArcSDE vs. Oracle Spatial》 PDF
  • 表单向Servlet提交参数时的中文乱码问题
  • Ubuntu10.04下Zend Studio7.1.2 开发环境配置日志
  • Lucid Lynx使用感受
  • Oracle日期转换函数的格式参数大小写规则【转自ITPUB】
  • 从△走进OO,走进策略模式
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【347天】每日项目总结系列085(2018.01.18)
  • 345-反转字符串中的元音字母
  • CSS中外联样式表代表的含义
  • Hibernate最全面试题
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Spark RDD学习: aggregate函数
  • vue总结
  • 从零开始学习部署
  • 分享几个不错的工具
  • 工作中总结前端开发流程--vue项目
  • 关于 Cirru Editor 存储格式
  • 汉诺塔算法
  • 回流、重绘及其优化
  • 前端面试总结(at, md)
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #ifdef 的技巧用法
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (C)一些题4
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (生成器)yield与(迭代器)generator
  • (转)平衡树
  • (转)我也是一只IT小小鸟
  • (转载)利用webkit抓取动态网页和链接
  • 、写入Shellcode到注册表上线
  • .CSS-hover 的解释
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net core 6 redis操作类
  • .net core控制台应用程序初识
  • .NET 使用配置文件
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET和.COM和.CN域名区别