服务器端代码从DB检索值。但是我无法向客户端提供价值。请帮帮我。
服务器端代码:
public int result(int ss) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
String host="jdbc:mysql://localhost/test";
String username="root";
String password="";
Connection connect=DriverManager.getConnection(host,username,password);
System.out.println("Works");
Statement s =connect.createStatement();
s.execute("select * from customer");
ResultSet rs=s.getResultSet();
while(rs.next())
{
ss=rs.getInt(1);
System.out.println("Retrieved element is = " + ss);
}
return ss;
}
客户端代码:
public class sam {
public static void main(String[] args) throws RemoteException {
Sample1Stub stub = new Sample1Stub();
Result method = new Result();
method.getSs();
ResultResponse response = stub.result(method);
System.out.println(response.get_return());
}
}
答案 0 :(得分:0)
boolean execute(String sql)
执行给定的SQL语句,该语句可能返回多个结果。在某些(不常见的)情况下,单个SQL语句可能返回多个结果集和/或更新计数。通常,您可以忽略此操作,除非您(1)执行您知道可能返回多个结果的存储过程或(2)您正在动态执行未知的SQL字符串。 execute方法执行SQL语句并指示第一个结果的形式。然后,您必须使用方法getResultSet或getUpdateCount来检索结果,并使用getMoreResults移动到任何后续结果。
执行给定的SQL语句,该语句返回单个ResultSet对象。 注意:无法在PreparedStatement或CallableStatement上调用此方法。
ResultSet executeQuery(String sql)
执行给定的SQL语句,该语句返回单个ResultSet对象。 注意:无法在PreparedStatement或CallableStatement上调用此方法。
s.execute(“select * from customer”);
而不是使用
s.executeQuery(“select * from customer”);