黑魔方的网上投票连数据库问题无效游标问题

问题描述

<%@pagecontentType="text/html;charset=utf-8"language="java"import="java.sql.*"import="java.io.*"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无标题文档</title></head><body><%!inttotal=0;synchronizedvoidcountTotal(){total++;}%><%booleanvote=true;Stringname="";name=request.getParameter("name");if(name==null){name="?";}bytea[]=name.getBytes("ISO-8859-1");name=newString(a);StringIP=(String)request.getRemoteAddr();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exceptione){}Connectioncon=null;Statementsql=null;ResultSetrs=null;try{con=DriverManager.getConnection("jdbc:odbc:vote","gxy","123");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=sql.executeQuery("SELECT*FROMIPWHEREIP="+"'"+IP+"'");introw=0;while(rs.next()){row++;}if(row>=1){vote=false;}//rs.close();}catch(SQLExceptione){}if(name.equals("?")){out.print("您没有投票,没有权利看选举结果");}else{if(vote){out.print("您投了一票");countTotal();try{rs=sql.executeQuery("SELECT*FROMpeopleWHEREname="+"'"+name+"'");rs.first();intcount=rs.getInt("count");count++;Stringcondition="UPDATEpeopleSETcount="+count+"WHEREname="+"'"+name+"'";sql.executeUpdate(condition);Stringto="INSERTINTOIPVALUES"+"("+"'"+IP+"'"+")";sql.executeUpdate(to);}catch(SQLExceptione){out.print(e);}try{rs=sql.executeQuery("SELECT*FROMpeople");out.print("<tableBorder>");out.print("<TR>");out.print("<thwidth=100>"+"姓名");out.print("<thwidth=50>"+"得票数");out.print("<thwidth=50>"+"总票数:"+total);out.print("</TR>");while(rs.next()){out.print("<TR>");out.print("<td>"+rs.getString(1)+"</td>");intcount=rs.getInt("count");out.print("<TD>"+count+"</td>");doubleb=(count*100)/total;out.print("<td>"+b+"%"+"</td>");out.print("</TR>");}out.print("</table>");con.close();}catch(SQLExceptione){out.print(e);}}else{out.print("您已经投过票了");}}%></body></html>

它居然出现了java.sql.SQLException:[Microsoft][ODBC驱动程序管理器]无效的游标状态这错误,我完全照书上打代码的啊,也检查了,没错啊,我错了不奇怪,清华书的作者也会错吗?声明我是初学者!!!声明我是初学者!!!声明我是初学者!!!

解决方案

解决方案二:
Statementsql再定义一个试试。好像是.next()之后就变了。我没调试过你的代码~~,不过建议试下。
解决方案三:
或则定义个不同的ResultSet对象。
解决方案四:
这里面rs是不是分一下,rs1,rs2。

时间: 2024-11-02 17:14:55

黑魔方的网上投票连数据库问题无效游标问题的相关文章

那些容易被黑产盯上的开源数据库软件

  近期全球范围内大量MongoDB因为配置不当导致公网匿名可访问,被黑产大量利用,删除业务数据并索要赎金后才恢复数据,本文从攻防角度讲述下那些容易被黑产盯上的开源数据库软件. 动机 只要攻击成本低于收益,就有动机.互联网公司大量使用各种开源的数据库保存重要的业务数据,一旦数据被销毁且无法恢复,会造成较大损失,这类互联网公司有相当一部分安全防护薄弱,攻击成本低,也有一定能力支付较小金融的赎金,于是这波人就成了黑产理想的攻击目标. 攻击过程 这 类攻击往往非常简单粗暴但有效,以MongoDB为例.

如何用cookie限制网上投票?

问题描述 在没有登录的情况下,如何用cookie限制网上投票?(代码),谢谢了!! 解决方案 解决方案二:投票之前判断投票之后写入if(Request.Cookies[Name]!=null){updateVote();Response.Cookies.Add(newHttpCookie(name,value));}解决方案三:额····应该是==null写入解决方案四:cookie限制投票与cookie识别登录是两码事.cookie限制投票劝你就不要做了,很容易让人搞掉的.解决方案五:一个清理

“十行百佳”网上投票活动的真实写照

一场网上票选忙坏了不少人,组织者每天统计投票,参选者四处拉票,还有人找水军"刷票".这是湖北省全省交通运输行业的"十行百佳"网上投票活动的真实写照.之所以出现这样的情况,全因有参评者说,此项结果与年终评奖.退休工资挂钩. 昨日,记者在该投票网站上看到,投票时间是7月20日~8月20日,并限定,"同一个IP地址每天只能投票一次",并且,每个行业只能选取10名候选人.记者随手点开一些参选者的主要事迹,其中却不乏一些错别字.另外,投票系统似乎也并不稳定

数据库分页和游标分页性能比较

问题描述 数据库分页和游标分页性能比较 我一直用的游标分页,也没遇到什么性能问题,就是下边这种: try{ List list=new ArrayList(); if(page != null) { if (rs.last())page.setTotalRow(rs.getRow()); //rs.beforeFirst(); rs.absolute(page.getFirstRow()); } T obj; for(int i=1 ; (page == null || i <= page.ge

男子受邀网上投票QQ密码被盗 亲朋好友“被借钱”

中新网南京9月18日电(徐涛鲁斌山 朱晓颖)接到一位美女的邀请,要求在网上帮忙投票选美,实为剽窃QQ密码向受邀者的朋友借钱.18日,南京市公安局秦淮公安分局公布,该局民警识破骗局,并提醒广大市民遇类似情况不要上当. 9月的上旬的一天,正在单位上班的李先生正在QQ上和朋友聊天.突然接到一陌生人要加其为QQ好友的请求.陌生人给他发来一条信息:"你好,打扰你了,我浙江人,这次是来南京参加选美比赛的.为了多拉选票,我只能通过这种随意添加的方式,在网络上寻求帮助.看在我们有缘的面子上,请你加我为好友,并为

CWA黑客组织黑进了美国逮捕记录数据库

由一群青少年组成的黑客(teenage hackers)组织Crackas With Attitude(CWA),此前曾侵入美国中央情报局(CIA)主管John Brennan的个人邮箱,并公开了大量敏感数据.然而现在,该组织将其目标瞄向了更加重要.看似安全的目标,包括FBI实时聊天系统.专用于美国联邦调查局(FBI)和执法机构的JABS系统. 黑客访问执法机关内部门户 黑客组织Crackas With Attitude(CWA)声称已经获得某个执法机构内部门户的访问权限,在这个门户中他们能够访

用VS2010做的网上投票系统更新用户信息室出现错误,求大神帮忙!!!

问题描述 至少一个参数没有被指定值.说明:执行当前Web请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.Data.OleDb.OleDbException:至少一个参数没有被指定值.源错误:执行当前Web请求期间生成了未经处理的异常.可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息.堆栈跟踪:[OleDbException(0x80040e10):至少一个参数没有被指定值.]System.Data.O

vb.net连接access数据库出现无效的授权说明

  新建oledbdataadapter控件,点击新建连接,然后在弹出的对话框上点击数据源项的更改 在弹出的对话框上选择其他并点击确定 然后会跳出添加链接项,点击Microsoft.Jet.OLEDB.4.0--数据连接 选择你要连接的数据库.mdb点击确定即可 然后下一步--下一步--查询生成器--添加--关闭--全选数据(如下图:表1的全选,图中未选)--确定--完成 ok,vb.net连接access数据库出现的"无效的授权说明"的问题就解决了

oracle数据库中关于游标的常见用法

1.什么是游标 游标是一种PL/SQL控制结构,可以对SQL语句进行显示控制,便于对表的数据逐条进行处理 2.游标分类 显示游标: Declared and named by the programmer 隐式游标: Declared for all DML and PL/SQL SELECT statements   3.游标的属性: %FOUND:Evaluates to TRUE if the most recent SQL statement affects one   or more