就提示String id=request.getParameter("id");这句错误,别的没有什么提示,并没有拼写错误,去除掉插入代码中的uid及id值就一切正常了,我觉得关键是并没有获取id值,我写不出怎样去获取id值的代码了,改来改去的就不行,我改为String id=(String)session.getAttribute("userid");也是不行,同样提示这条语句错误。

解决方案 »

  1.   

    关于userid,你在登录是应该用session.setAttribute("userid")设置会话变量,然后在以后的页面中可以使用session.getAttribute("userid")来获取此会话值
      

  2.   

    按照楼上的方法来写也是不对,提示String id = (String)session.setAttribute("userid") ;和String id=session.getAttribute("userid");两句都不对,还是没有解决。
      

  3.   

    你干脆把代码原封不动的贴来大家看看怎么回事吧。包括set的那一部分。
      

  4.   

    String sql="insert into dddd  
    (Type,area,uid) values ('"+Type+"','"+area+"','"+id+"')"; 
               ~~~看你的数据库中uid是什么类型的,是不是字符型的,如果是数字型的话,也许应该这样写,我前段时间写数据库操作的时候也是因为数据库类型出了很多毛病String sql="insert into dddd  
    (Type,area,uid) values ('"+Type+"','"+area+"',+id+)"; 
      

  5.   

    ghostxinghe(娃哈哈)说得有道理,uid是设为int类型,但现在的问题也不是这个,而是String id=request.getParameter("id");这句有错误,也就是说获取id值的语句有问题,哪位再给指点一下,文件的开头写着:
    <%
    String id = (String)session.getAttribute("userid") ;
    if(id==null){
      out.println("抱歉,你还未登录,请先登录才能操作,点此<a href=index.jsp>登录</a>");
      }else{
    %>
    我觉得这样写应该没错,而且运行也一切正常,唯一的错误就在String id=request.getParameter("id");这句,应该怎样写才对呢?
      

  6.   

    是不是这里不能用request.getParameter的,而应该用别的方法。
      

  7.   

    晕啊,那你把String id=request.getParameter("id");这句try/catch,打出错误代码来看看啊。你怎么能确定一定是这句的错误呢?难道只是根据“String id=request.getParameter("id");这句错误”这个提示么?对了,你的错误提示是中文的么?或则你重复的使用了id?
      

  8.   

    <%
    String id = (String)session.getAttribute("userid") ;
    if(id==null){
      out.println("抱歉,你还未登录,请先登录才能操作,点此<a href=index.jsp>登录</a>");
      }else{
    %>
    <%
    String Type=request.getParameter("Type");
    String area=request.getParameter("area");
    String Brand=request.getParameter("Brand");
    String address=request.getParameter("address");
    String Site=request.getParameter("Site");
    String Price=request.getParameter("Price");
    String color=request.getParameter("color");
    String Buydate=request.getParameter("Buydate");
    String enddate=request.getParameter("enddate");
    String message=request.getParameter("message");
    String id=request.getParameter("id");String sql="insert into dddd  (Type,area,Brand,Site,Price,color,Buydate,enddate,message,createtime,uid) values ('"+Type+"','"+area+"','"+Brand+"','"+Site+"','"+Price+"','"+color+"','"+Buydate+"','"+enddate+"','"+message+"',now(),+id+)"; 
    sql_conn.executeUpdate(sql);
    try{
            sql_conn.executeUpdate(sql);
    }catch(Exception e)
         {
      out.print("出错了!");
     }
    %>
    错误提示如下:
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 9 in the jsp file: /gq_save.jspGenerated servlet error:
        [javac] Compiling 1 source fileC:\tomcat\Tomcat 5.0\work\Catalina\localhost\zj2s\org\apache\jsp\gq_005fsave_jsp.java:82: id is already defined in _jspService(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    String id=request.getParameter("id");
           ^An error occurred at line: 9 in the jsp file: /gq_save.jspGenerated servlet error:
    Note: C:\tomcat\Tomcat 5.0\work\Catalina\localhost\zj2s\org\apache\jsp\gq_005fsave_jsp.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    1 error
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:128)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:307)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:455)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:300)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)大家再帮我看看,我已经没辙了。
      

  9.   

    你把String id=request.getParameter("id");改成
    try{
      String id=request.getParameter("id");
    }catch(Exception e){
      System.out.print("The error code is:"+e.toString());
    }
    然后看看打出来的是什么?
    还有request.getParameter("id")中的id是在什么地方定义和赋值的,那里有没有写错啊?
      

  10.   

    现在问题基本上解决了,就是将String id=request.getParameter("id");改为String did=request.getParameter("id");你们说得对,我重复定义了id这个变量,所以出错,但现在是运行正常了,但uid这个字段却不会插入任何数据,其余的字段一切正常,都能插入数据,但uid这个字段始终是0,空值,问题还是没有完全解决,正确的应该是会员的id号呀,现在却无论怎样都是0,再帮我一把,谢谢。
      

  11.   

    你写了一个String id = (String)session.getAttribute("userid") ;
    又写了一个String id=request.getParameter("id");况且错误信息里已经提示你重复定义了。
    下面是拷贝你的错误信息的一部分:
     id is already defined in _jspService(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    String id=request.getParameter("id");请把后一句的String去掉。
      

  12.   

    你的sql语句中的id也要改成did啊。
      

  13.   

    而且我还发现一个怪现象:添加记录后在mysql中会有两条同样的记录,即发布一次信息却会添加二条同样的信息,怪不怪,怎么回事,正确的应该是发布了一条信息后只会添加一条记录的,现在却是添加二条记录,内容一模一样,究竟怎么回事,人都晕了。
      

  14.   

    String did=request.getParameter("id");String sql="insert into dddd  (Type,area,Brand,Site,Price,color,Buydate,enddate,message,createtime,uid) values ('"+Type+"','"+area+"','"+Brand+"','"+Site+"','"+Price+"','"+color+"','"+Buydate+"','"+enddate+"','"+message+"',now(),'"+did+"')"; 
    这是sql语句,应该没错啊,怎么会同时添加二条记录呢?还有不明白为什么其余的字段都能添加数据,唯独uid字段不能添加,看来String did=request.getParameter("id");还是没有获取到参数。
      

  15.   

    数据表中uid的字段类型?
      

  16.   

    uid数据类型为int,应该没错的,我用php一直都正常的。
      

  17.   

    第一:你的uid字段是自动增加的吗?如果是,在sql中把这个字段去掉。
    第二:你的uid既然是int型的,那么就把uid左右的单引号去掉。
    你试试。
      

  18.   

    楼上的领会错了,这uid字段并不是作为主键的id字段,两个字段完全不相干的。
      

  19.   

    你既然是往数据库里面插入数据的,那么我问你:
    你的uid在表单里面传过来的是什么数据?如果,你的表单里面没有uid这一项,那么只能往数据库中插入个默认的0了。
      

  20.   

    把表单页面和jsp页面都贴出来。
      

  21.   

    momi(燕子天涯) 
    他插入的好象是String uid=...
    得来的那个。
      

  22.   

    我遇到过这个问题,你在oracle中的列字段名不能用uid,你可以把uid改为别的名称,例如:usercode 好象uid是关键字,不能写为列字段名。如果是对的,你要多给我些分呀!
      

  23.   

    补充上面:
    String sql="insert into dddd  
    (Type,area,uid) values ('"+Type+"','"+area+"','"+id+"')"; 
    问题出在uid。