代码:    public String DBdisplay(){
     try{
     String url="jdbc:sqlserver://localhost:1433;databaseName=message";
String name="sa";
String pass="";
String sql="select * from 学生信息";
String result;
       
Connection conn=DriverManager.getConnection(url, name, pass);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);

while(rs.next()){
for(int i=1;i<=3;i++){
result=rs.getString(i);
return(result);
}
}

     } catch(SQLException e){
     return(e.getMessage());
     }
    }这段代码有错误 提示是返回类型必须为String  是为什么呀?(数据库连接上面没有问题 如果建立一个类,在mian方法中 把retumrn(result)改成System.out.print(result);是可以运行并且可以达到预期效果)  我的目的是把这个函数的输出放到一个TextArea.getText(***);中 

解决方案 »

  1.   

    你的return在while循环里面
    rs没有值的时候没有返回值吧
    这个函数必须有返回值的
      

  2.   

    return(result); 中的result在这里并不是String类型的
    你这样写return((String)result); 
      

  3.   

       我记得不错的话,result返回的好像是object吧?
      

  4.   

    code=Java]
    while(rs.next()){ 
    for(int i=1;i <=3;i++){ 
    result=rs.getString(i); 
    return(result); 

    }
       //加上下面这句试试
    return null;[/code]
      

  5.   


    while(rs.next()){ 
    for(int i=1;i <=3;i++){ 
    result=rs.getString(i); 
    return(result); 

    }  //加上下面这句试试
    return null;
      

  6.   

    while(rs.next()){ 
      for(int i=1;i <=3;i++){ 
      result=rs.getString(i); 
      return(result); 
      } 

    这代码有什么可读性吗?循环中取值,能循环三次吗?后面又是return了
    更和况你只要返回以个String字符串?如果你SQL语句不是查询全部的话:
    String result = null;
    if(rs.next()){
       result = rs.getXXX("想取的字段名");//如果该字段不是String类型,转换下。
    }
    return result;//这样不就得了