计数器!”又错了“ 高分请解

test12345678 2003-09-15 11:45:43
<%@ page contentType="text/html;charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>文字计数器</title>
</head>

<body>
<%
String DBName = "test";
String Table = "counter";
String driver= "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433"+DBName;
String userID="sa";
String passwd="";
int OldCNT;
int UserCNT;

try
{
Class.forName(driver).newInstance();
}
catch(Exception e)
{
out.println("无法栽入"+driver+"驱动程序");
e.printStackTrace();
}

try
{
Connection con = DriverManager.getConnection(url,userID,passwd);
Statement stmt = con.createStatement();
String query = "SELECT * FROM counter;";
ResultSet QRes = stmt.executeQuery(query);
while(QRes.next())
{
OldCNT = QRes.getInt("times");
UserCNT = OldCNT+1;
out.println("您是第"+UserCNT+"位");

QRes.close();
query = "UPDATE counter SET times ="+UserCNT+" WHERE times ="+OldCNT+";";
stmt.executeQuery(query);
}
con.close();
}
catch(SQLException e)
{
e.printStackTrace();
out.print("又错了!");
}
%>
</body>
</html>
...全文
51 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
test12345678 2003-09-17
  • 打赏
  • 举报
回复
kaibinsj(天翔)
不要担心,

结帖你都是0分。

请注意你的道德观。我不知道是是否上过小学的思想品德的.
kaibinsj 2003-09-16
  • 打赏
  • 举报
回复
不结贴还说粗话,这种人啊!!!
非要人家给你写代码么?
joygxd 2003-09-15
  • 打赏
  • 举报
回复
while(QRes.next())
{
OldCNT = QRes.getInt("times");
UserCNT = OldCNT+1;
out.println("您是第"+UserCNT+"位");

//QRes.close();
query = "UPDATE counter SET times ="+UserCNT+" WHERE times ="+OldCNT+";";
stmt.exectueUpdate(query);
}
yaray 2003-09-15
  • 打赏
  • 举报
回复
严重的逻辑错误
test12345678 2003-09-15
  • 打赏
  • 举报
回复
to fast_time(fast_time) (

变量 UserCNT 可能尚未初始化。
query = "UPDATE counter SET times ="+UserCNT+" WHERE times ="+OldCNT+";";
变量 OldCNT 可能尚未初始化。
query = "UPDATE counter SET times ="+UserCNT+" WHERE times ="+OldCNT+";";
^
blue999star 2003-09-15
  • 打赏
  • 举报
回复
1 t
fast_time 2003-09-15
  • 打赏
  • 举报
回复
if(QRes.next())
{
OldCNT = QRes.getInt("times");
UserCNT = OldCNT+1;
out.println("您是第"+UserCNT+"位");
}
QRes.close();
query = "UPDATE counter SET times ="+UserCNT+" WHERE times ="+OldCNT+";";
stmt.executeUpdate(query);
kaibinsj 2003-09-15
  • 打赏
  • 举报
回复
QRes.close();
你在循环里把QRes给关了,当再次循环是找不到QRes了!!!
fast_time 2003-09-15
  • 打赏
  • 举报
回复
stmt.executeUpdate(query);
test12345678 2003-09-15
  • 打赏
  • 举报
回复
to kaibinsj(天翔) ;
操。一样不行。说什么!!!!
kaibinsj 2003-09-15
  • 打赏
  • 举报
回复
靠,上面人都白说了啊!
这都看不懂!
test12345678 2003-09-15
  • 打赏
  • 举报
回复
没有人能做?
9731boy 2003-09-15
  • 打赏
  • 举报
回复
呵.好像只有一条记录.不要用while吧.if(re.next())就可以了吧.
9731boy 2003-09-15
  • 打赏
  • 举报
回复
看得我头都大了...你每次使用这个页面都要载入一次驱动程序吗?
test12345678 2003-09-15
  • 打赏
  • 举报
回复
谁能给出一个比较好的代码
kaibinsj 2003-09-15
  • 打赏
  • 举报
回复
怎么??yaray(雅睿) 是mm???
junyi2003 2003-09-15
  • 打赏
  • 举报
回复
yaray(雅睿) :
严重的逻辑错误

------------------

挖,太厉害。大姐
cuihao 2003-09-15
  • 打赏
  • 举报
回复
finally{
rs.close();
stmt.close();

}
cuihao 2003-09-15
  • 打赏
  • 举报
回复
建议 你把那些关闭的东西都放到catch或finally里面
最好每个try都跟着一个finally块 把该关的都关掉,该释放的都释放掉

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧