小女可以取出表单上面的值放到session中去,如下在servlet中取得用户名,再存放到session中去.
response.setContentType("text/html");
request.setCharacterEncoding("GB2312"); 
HttpSession session=request.getSession(true);
String name=request.getParameter("name").toString();//这是取得表单上面的用户名
session.setAttribute("name",name);//然后存放到session中去
........................
取出来:
String nickname=(String)session.getAttribute("name");
System.out.print(name.toString());可是我的数据库里面的id是自动增长的,在表单上面没有哦,我怎么得到呢?哪位大哥救救小女,小女有礼了先:)

解决方案 »

  1.   

    本来是rs.getInt("id")的。是不是别的地方出错了。你看看数据库里的值
      

  2.   

    session.setAttribute("name",name); 
    前面先 INSERT INTO  插入一条记录
    让数据库生成新的ID 号
    再用SELECT ID FROM TABLE WHERE NAME=NAME 取出来 ID 号
      

  3.   

    这个问题应该是插入时遇到的吧。
    如果你的name是不可重复的,楼上的可
    如果重复,又要保持现在的数据库结构,就要多几个条件了,凑成主键后再检索实际上,在现实工作中,极少有自增长方式的主键,通常数据库会预留一张表作为番号表,每次插入数据的时候,进行采番(就是写一段代码,生成连续的序列号,与自增长实现同样的功能,但番号更灵活)。
    当然,如果系统不复杂,也不需要这么正式。
      

  4.   

    大哥,如果用SELECT ID FROM TABLE WHERE NAME=NAME 取出来 ID 号,虽然可以取出ID来,可是如果有相同的NAME呢?那样的话取出来的ID就有多条纪录.
      

  5.   

    先问问你的NAME是用来做什么的.是唯一的吗.如果是ORACLE的自增列的话就在插入的同时用序列的下一个值,如果MYSQL就不用管这个自增列了.你说清楚点.还有就是你上面的代码中System.out.print(name.toString());不用toString了.因为name己经是String类型了
      

  6.   

    把ID做为隐藏值与name关联传到servlet就可以了!
      

  7.   

    用序列做增长,直接select就成了
    select table.CURRVAL into id from table
    然后取id就好了