我想把java中的局部变量的返回值返回出来

packagecom.test;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql... package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class conmysql {

public static void consql(String s,String col){
String cost;
try {
Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
//链接数据库
try {
Connection con=DriverManager.getConnection("jdbc:mysql://192.168.1.250:3306/shop","fmrom","fmrom");
if(!con.isClosed()){
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(s);
while(rs.next()){
cost = rs.getString(col);
System.out.print("数据库中的价格:"+cost+" ");
}
}
con.close();
} catch (SQLException e) {
e.printStackTrace();
}

}

}
我想把cost的值return出来,并且在其他的类中还能调用consql(String s,String col)这个方法,改怎么做啊
展开
 我来答
爱吃溜肥肠
2014-09-16 · TA获得超过627个赞
知道小有建树答主
回答量:326
采纳率:50%
帮助的人:220万
展开全部
package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;

public class conmysql {
// 加个静态的返回值字段
    private List<String> recost;
    

public List<String> getRecost() {
return recost;
}


public void setRecost(List<String> recost) {
conmysql.recost = recost;
}


public void consql(String s,String col){
         String cost; 
         recost = new ArrayList<String>();
        try {
            Class.forName("com.mysql.jdbc.Driver");
            
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        }
        //链接数据库
        try {
            Connection con=DriverManager.getConnection("jdbc:mysql://192.168.1.250:3306/shop","fmrom","fmrom");
            if(!con.isClosed()){
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(s);
                while(rs.next()){
                    cost = rs.getString(col);
                    // 将cost放入集合recost;
                    recost.add(cost);
                    System.out.print("数据库中的价格:"+cost+"    ");                
                }
            }
            con.close();            
        } catch (SQLException e) {
            e.printStackTrace();
        }        
        
    }
    
}

通过new conmysql().getRecost()可以拿到结果cost的集合,这样可以吗?

夏止忧伤
推荐于2016-03-12 · TA获得超过200个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:104万
展开全部
public class conmysql {
private String cost;

public String getCost(){
return cost;
}

public void consql(String s,String col){
try {
Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
//链接数据库
try {
Connection con=DriverManager.getConnection("jdbc:mysql://192.168.1.250:3306/shop","fmrom","fmrom");
if(!con.isClosed()){
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(s);
while(rs.next()){
cost = rs.getString(col);
System.out.print("数据库中的价格:"+cost+" ");
}
}
con.close();
} catch (SQLException e) {
e.printStackTrace();
}

}

}

其他地方调用:
conmysql myCon = new conmysql();
myCon:consql(str, col)
string myCost = myCon:getCost()
希望能帮到你
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友acfb1c5
2014-09-16 · TA获得超过657个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:275万
展开全部
改方法返回类型,最后一行加上return cost;
public static String consql(String s,String col){

....

return cost;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
问题终结机
2014-09-16 · 超过12用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:19.8万
展开全部
public String consql(String s,String col){//static去掉

String cost;

(这里是你写的代码)

catch了Exception后面 return cost;
}

使用这个方法就:conmysql c=new conmysql();
c.consql(String s,String col);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式