<%--
Document : index
Created on : 2008-7-10, 10:40:29
Author : Administrator
--%><%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*,java.io.*"%>
<%@include file="include.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录……</title>
</head>
<body>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
try {
Class.forName(className);
} catch (ClassNotFoundException e) {
e.toString();
}
conn = DriverManager.getConnection(url, user, pwd);
stmt = conn.createStatement();
String isCorrect = "select * from tb_user where username="+username+" and password="+password+"";
rs = stmt.executeQuery(isCorrect);
if (!rs.next()) { //没有找到相匹配的记录
response.sendRedirect("login.html");
rs.close();
stmt.close();
conn.close();
} else if (rs.getString("isCheck").equals("0")) { //找到记录,且没有投过票
session.setAttribute("username", rs.getString("username"));
session.setAttribute("password", rs.getString("password"));
session.setAttribute("isCheck", rs.getString("isCheck"));
try {
stmt.executeUpdate("update tb_user set isCheck=" + 1 + "where username=" + username + "");
stmt.close();
conn.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
response.sendRedirect("index.html");
} else { //找到记录,且投过票
response.sendRedirect("watch.jsp");
stmt.close();
conn.close();
rs.close();
}
%>
</body>
</html>错误如下:
javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]列名 'qun' 无效。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.login_jsp._jspService(login_jsp.java:145)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)麻烦各位大侠,说说那里出错了啊,数据库里的表,有qun的那条记录啊
Document : index
Created on : 2008-7-10, 10:40:29
Author : Administrator
--%><%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*,java.io.*"%>
<%@include file="include.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录……</title>
</head>
<body>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
try {
Class.forName(className);
} catch (ClassNotFoundException e) {
e.toString();
}
conn = DriverManager.getConnection(url, user, pwd);
stmt = conn.createStatement();
String isCorrect = "select * from tb_user where username="+username+" and password="+password+"";
rs = stmt.executeQuery(isCorrect);
if (!rs.next()) { //没有找到相匹配的记录
response.sendRedirect("login.html");
rs.close();
stmt.close();
conn.close();
} else if (rs.getString("isCheck").equals("0")) { //找到记录,且没有投过票
session.setAttribute("username", rs.getString("username"));
session.setAttribute("password", rs.getString("password"));
session.setAttribute("isCheck", rs.getString("isCheck"));
try {
stmt.executeUpdate("update tb_user set isCheck=" + 1 + "where username=" + username + "");
stmt.close();
conn.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
response.sendRedirect("index.html");
} else { //找到记录,且投过票
response.sendRedirect("watch.jsp");
stmt.close();
conn.close();
rs.close();
}
%>
</body>
</html>错误如下:
javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]列名 'qun' 无效。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.login_jsp._jspService(login_jsp.java:145)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)麻烦各位大侠,说说那里出错了啊,数据库里的表,有qun的那条记录啊
楼主【qunqun886】截止到2008-07-10 17:20:10的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
是错的
String isCorrect = "select * from tb_user where username='"+username+"' and password='"+password+"' ";
"update tb_user set isCheck=" + 1 + "where username='" + username + "'"
字符串 在sql语句中 你得加单引号 如上
lz 说qun是一条记录 而提示说他是列名
问题就出来了
程序能读出 值qun来 这没有问题 但是他把读出来的值当成列名了
同1楼 加上单引号
try {
stmt.executeUpdate("update tb_user set isCheck=" + 1 + "where username=" + username + "");
stmt.close();
conn.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
也就是说出现异常的时候没有关闭连接