public String addItem()
{try{
con=DriverManager.getConnection("jdbc:odbc:shop","sa","123");
sql=con.createStatement();
String s=
"'"+logname+"'"+","+"'"+password+"'"+","+"'"+email+"'";
String condition="insert into user values"+"("+s+")";
sql.executeUpdate(condition);message="注册成功";con.close();
}
catch (SQLException e)
{message="你还没有注册.或用户已存在.请你更换一个名字";
}
没有返回值

解决方案 »

  1.   

    public String addItem()没有返回值
      

  2.   

    public String addItem()
    {try{
    con=DriverManager.getConnection("jdbc:odbc:shop","sa","123");
    sql=con.createStatement();
    String s=
    "'"+logname+"'"+","+"'"+password+"'"+","+"'"+email+"'";
    String condition="insert into user values"+"("+s+")";
    sql.executeUpdate(condition);message="注册成功";con.close();
    }
    catch (SQLException e)
    {message="你还没有注册.或用户已存在.请你更换一个名字";
    }
    }
    }
    申明了要返回string的,结果没有返回
      

  3.   

    public String getEmail()
    里无RETURN,几无返回值,或者把String改成VOID,或者里边用rs=sql.executeUpdate(condition);试试吧
      

  4.   

    public String addItem()
    {try{
    con=DriverManager.getConnection("jdbc:odbc:shop","sa","123");
    sql=con.createStatement();
    String s=
    "'"+logname+"'"+","+"'"+password+"'"+","+"'"+email+"'";
    String condition="insert into user values"+"("+s+")";
    sql.executeUpdate(condition);message="注册成功";con.close();
    }
    catch (SQLException e)
    {message="你还没有注册.或用户已存在.请你更换一个名字";
    }
    }----------->>>>return message;
    }
      

  5.   

    知道了.我把public String addItem()改成public void addItem 就行了谢谢大家的关注接下来有兄弟想拿分的那就随便来聊聊关于JSP的任何话题也行.我不急着结贴
      

  6.   

    定义了返回类型的方法需要在每一条分支有 return 语句,返回相应类型的值。
      

  7.   

    现在开发公司的一个OA系统,单是面对数据库表就不少,如果采用自己初学时的办法,一个一个去编辑javabean的话 在jsp页面逐个写request set get 之类的语句,不但是累坏,而且出错的机会肯定不少 后来借鉴了他人的做法,写一个专门自动生成代码的程序,这样只要输入数据库表 就会自动生成相应的 各种bean 真的方便   :) 省下不少的人力 调试起来又很方便 ,而且变量 方法 bean名都事先统一规范好 有利于大家编写调用时的统一  真的爽    小小经验 和大家分享 也希望提出更多的好东东互相学习
      

  8.   

    "申明了要返回string的,结果没有返回"
    where is your return val?...
      

  9.   

    public String getString(){
       String sReturn="aaa";
       ........
       ........
       reutrn sReturn;
    }
      

  10.   

    你的addItem()没有返回值!你应该这样写,public String addItem(){````````return message;}
      

  11.   

    下面的方法没有返回值:public String addItem()
    {
    try{
    con=DriverManager.getConnection("jdbc:odbc:shop","sa","123");
    sql=con.createStatement();
    String s=
    "'"+logname+"'"+","+"'"+password+"'"+","+"'"+email+"'";
    String condition="insert into user values"+"("+s+")";
    sql.executeUpdate(condition);message="注册成功";con.close();
    }
    catch (SQLException e)
    {message="你还没有注册.或用户已存在.请你更换一个名字";
    }//在这里加上一句:
    return ......;}
      

  12.   

    呵呵...都解决了..加一点吧.一般写一一个不是void型的方法.都要有一个返回值.比如上面你的public String addItem() {就要返回:
    return 所要的值;
    }
      

  13.   

    改好了:
    package register;import java.sql.*;
    public class Register
    {
    String logname,
           password,
           email;
    String message;
    Connection con;
    Statement sql;
    ResultSet rs;
    public Register()
    {
    try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch(ClassNotFoundException e){}
    }
    public void setLongname(String name)
    {
    logname=name;
    }
    public String getLogname()
    {return logname;
    }
    public void setpassword(String pw)
    {
    password=pw;
    }
    public String getpassword()
    {return password;
    }
    public void setEmail(String em)
    {
    email=em;
    }
    public String getEmail()
    {
    return email;
    }
    public String addItem()
    {try{
    con=DriverManager.getConnection("jdbc:odbc:shop","sa","123");
    sql=con.createStatement();
    String s=
    "'"+logname+"'"+","+"'"+password+"'"+","+"'"+email+"'";
    String condition="insert into user values"+"("+s+")";
    sql.executeUpdate(condition);message="注册成功";con.close();
    }
    catch (SQLException e)
    {message="你还没有注册.或用户已存在.请你更换一个名字";
    }
    return message;
    }
    }