<%-- 
    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的那条记录啊

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【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
      

  2.   

    String isCorrect = "select * from tb_user where username="+username+" and password="+password+""; 
    是错的
    String isCorrect = "select * from tb_user where username='"+username+"' and password='"+password+"' "; 
      

  3.   

    "select * from tb_user where username='"+username+"' and password='"+password+"'"
    "update tb_user set isCheck=" + 1 + "where username='" + username + "'"
      

  4.   


      字符串 在sql语句中 你得加单引号  如上
      

  5.   

    列名 'qun' 无效
    lz 说qun是一条记录 而提示说他是列名 
    问题就出来了
    程序能读出 值qun来 这没有问题 但是他把读出来的值当成列名了
    同1楼 加上单引号
      

  6.   

    而且楼主的代码也有缺陷 
    try { 
                        stmt.executeUpdate("update tb_user set isCheck=" + 1 + "where username=" + username + ""); 
                        stmt.close(); 
                        conn.close(); 
                        rs.close(); 
                    } catch (Exception e) { 
                        e.printStackTrace(); 
                    } 

    也就是说出现异常的时候没有关闭连接