ASP.NET投票系统

按照网上的例子原型写了个投票系统的demo,其间出现了种种可怕的问题。。。

其中最郁闷的是用ADO.NET连接ACCESS的问题,这个问题是由于参数类型不匹配所造成的,当使用UPDATE更新时,这个问题就会造成无法更新、但不报任何错误的状况,我在网上找了很久,有许多人跟我有相同的问题。下面这位也是:

http://cnzc.cnblogs.com/archive/2004/07/09/22787.html

目前解决这个问题似乎没有很好的方法,如果不使用参数,直接拼凑字符串的话就不会有这个问题,但这样就很难防注入攻击了。。。

所以说,ACCESS,就是这么令人郁闷……

下面说一下这个投票系统的主要功能。

整个系统分为前后台,前台给用户投票,并且显示给用户当前的票数信息,后台由管理员添加修改投票信息。

先看一下数据是怎么设计的吧!

很简单,两个表,一个放投票主题,另一个放投票选项。

主题表中就四个字段,一个是自动编号的主键,一个是主题,第三个是是否多选,还有就是显示图表是用柱形图还是饼形图。

选项表有五项。

parentId是对应的主题编号,这样就可以找到相应主题的所有选项了。

color是该选项显示在图表中时的颜色,其他两项自不必说。

 

然后看前台,前台就是两个页面,一个给人投票,一个显示票数信息。

我没做任何的美工工作,界面可能看起来有点粗糙……

我用repeater绑定数据库中的所有投票主题,并且手动实现了分页。

用户点击投票后,切换到另一个显示的页面,将票数以图形方式显示出来:

声明一下,这个画图的程序我是直接从网上摘抄的,虽然利用GDI+的一些东西我自己也可以画出来,但终归是麻烦,既然网上有代码,那我就复用一下吧……

前台就是以上的两个页面。

后台也是两个页面,一个添加,一个编辑。

添加似乎没什么好说的,insert一下各字段就行了,其中稍微有点麻烦的是动态添加控件那一部分,其余也简单。

编辑页面中,我用的是GridView

里面有一个缺陷,就是无法更改选项。

并不是说不能做,只是我感觉多次连接数据库会对性能有所影响,还未想到一个简洁又不失效率的解决方案。

要更改选项,我想到的就是先将表中的对应选项全部删除,然后再逐条插入。或者插入增加的部分,删除减少的部分。

总的来说,这个投票系统并不复杂,高手来做或许只要半天就搞定了,我则做了两天多。。-_-!

 

代码下载

posted on 2009-02-24 19:01  lolicon  阅读(3609)  评论(1编辑  收藏  举报