首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

做毕业设计又遇到郁闷的有关问题了,高手帮忙

2012-01-06 
做毕业设计又遇到郁闷的问题了,高手帮忙源码如下:%@pagecontentType text/htmlcharsetGB2312 %%@p

做毕业设计又遇到郁闷的问题了,高手帮忙
源码如下:
<%@   page   contentType= "text/html;charset=GB2312 "   %>
<%@   page   import= "java.sql.* "   %>
<HTML>
<BODY>
  <%   Connection   con;
        Statement   sql;  
        ResultSet   rs;
        try
        {
            Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
        }
        catch(ClassNotFoundException   e)
        {
            out.print( "该数据驱动方式不存在! ");
        }
        //try  
        //{    
                  con=DriverManager.getConnection( "jdbc:odbc:bysj ", "sa ", "513278 ");
                  sql=con.createStatement();
                  String   userID=request.getParameter( "userID ");
                  String   password=request.getParameter( "userpassword ");
                  String   sqlString   =new   String(   "SELECT   userID,password   FROM   user   WHERE   userID= ' "+userID+ " ' ");//错误所在行
                  rs=sql.executeQuery(sqlString);
                if(!rs.next())
                  {
                  out.print( "该用户不存在!请 <a   href= 'login.jsp '> 重新登陆 </a> ");
                  }
                  else{
                  if(!rs.getString(3).equals(password))
                 
                  out.print( "您输入的密码不正确!请 <a   href= 'login.jsp '> 重新登陆 </a> ");
              else
              {
              if(rs.getInt(5)==1)
              response.sendRedirect( "usermain.jsp ");
              if(rs.getInt(5)==2)
              response.sendRedirect( "managermain.jsp ");
              if(rs.getInt(5)==1)
              response.sendRedirect( "leader.jsp ");
              }
                 
                  }
                 
                 
                con.close();
          //}


      //catch(SQLException   e)  
      //{
          //   out.print( "SQL异常! ");
      //}
  %>
</BODY>
</HTML>

解释执行的时候错误显示在这行:
String   sqlString   =new   String(   "SELECT   userID,password   FROM   user   WHERE   userID= ' "+userID+ " ' ");
                  rs=sql.executeQuery(sqlString);
错误为:

java.sql.SQLException:   [Microsoft][ODBC   SQL   Server   Driver][SQL   Server]在关键字   'user '   附近有语法错误。
sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown   Source)
sun.jdbc.odbc.JdbcOdbc.standardError(Unknown   Source)
sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown   Source)
sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown   Source)
sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown   Source)
org.apache.jsp.checklogin_jsp._jspService(checklogin_jsp.java:77)
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:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

我看不出来SQL语句有什么问题.
请高手指点.很急!!

[解决办法]
String sqlString =new String( "SELECT userID,password FROM user WHERE userID= ' "+userID+ " ' ");//???
String sqlString = "select userID from user where UserID= ' "+userID+ " ' and password= ' "+Password+ " ' ";
这样就可以了,但是会出现SQL语句注入这个安全隐患。
[解决办法]
userID字段是字符型吗?
[解决办法]
user是关键字
String sqlString =new String( "SELECT [userID],[password] FROM [user] WHERE [userID]= ' "+userID+ " ' ");

热点排行