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

邮箱地址存入MS SQL2000发生的异常!多谢

2012-02-29 
邮箱地址存入MS SQL2000发生的错误!谢谢在注册新用户的时候需要填入邮箱地址,就会出现这样的错(输入时我填

邮箱地址存入MS SQL2000发生的错误!谢谢
在注册新用户的时候需要填入邮箱地址,就会出现这样的错(输入时我填的数据是111@111.com)
java.sql.SQLException:   [Microsoft][SQLServer   2000   Driver   for   JDBC][SQLServer]第   1   行:   '@111 '   附近有语法错误。
at   com.microsoft.jdbc.base.BaseExceptions.createException(Unknown   Source)
at   com.microsoft.jdbc.base.BaseExceptions.getException(Unknown   Source)
at   com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown   Source)
at   com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown   Source)
at   com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown   Source)
at   com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown   Source)
at   com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown   Source)
at   com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown   Source)
at   com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown   Source)
at   com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown   Source)
at   com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown   Source)
at   com.microsoft.jdbc.base.BaseStatement.executeUpdate(Unknown   Source)
at   db.userregister.registeruser(userregister.java:86)
at   org.apache.jsp.register.controller_jsp._jspService(controller_jsp.java:104)
at   org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at   org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at   org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at   org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at   java.lang.Thread.run(Thread.java:595)
相关的函数是
  public   boolean   registeruser(String   username,String   userpwd,String   introduce,String   email)
    {
   
    try
            {
      Class.forName(driver);
      Connection   con=DriverManager.getConnection(url,user,dbpassword);
      String   query= "insert   into   commonuser(username,userpwd,duty,introduce,email)   values   ( "+username+ ", "+userpwd+ ", "+ " 'common ' "+ ", "+introduce+ ", "+email+ ") ";



      Statement   stmt=con.createStatement();      
      stmt.executeUpdate(query);      
    return   true;
            }        
       
    catch(SQLException   e)
            {
        e.printStackTrace();
            }
        catch(ClassNotFoundException   e)
            {
        e.printStackTrace();
            }
  return   false;
    }
谢谢大家,我需要你们的帮助

[解决办法]
@是不是特殊的字符

你把 email 换成 不包括@的 字符串试试看看 如果不报错

再如下 111\\@111.com 这样试试

或者用PreparedStatement 来设置参数

热点排行