当前位置: 技术问答>java相关
谁知道这个程序的display方法为什麽一定要用(ResultSet result)作为参数呢?!
来源: 互联网 发布时间:2015-07-28
本文导语: 谁知道这个程序的display方法为什麽一定要用(ResultSet result)作为参数呢?! 这是个查询数据库的例子,在例子中有一个方法是void display(ResultSet result)... 我怎麽看也不明白为什麽这个方法一定要用ResultSet result作为它...
谁知道这个程序的display方法为什麽一定要用(ResultSet result)作为参数呢?!
这是个查询数据库的例子,在例子中有一个方法是void display(ResultSet result)... 我怎麽看也不明白为什麽这个方法一定要用ResultSet result作为它的参数,既然这个方法不是java类库中早已规定好的,是认为创造的,那位什麽一定要在这里设了一个必须用的让人看不懂的方法参数呢?虽然在这个程序后面用到了result这个变量,可我怎麽也看不出它一定要放在这里的理由和display的联系!!既然是自己规定,在这里能不能不用这个参数,换成一个容易理解的方法呢(最好根本不用参数,或说明不用参数的绝对麻烦之处)。这个问题已有两个朋友给我解释过,可因为用的语言太简短,我还是没明白,请高手耐心一点用尽量长的语言解释一下在这里一定要用这个不好理解的参数而不用不行的理由吧!多谢!
///////////////////////////database.java////////////////////////////////
import java.awt.*;
import java.sql.*;
public class database{
Frame f;
TextArea t;
public database(){
f=new Frame("数据库测试");
t=new TextArea(80,200);
f.add(t);
f.setSize(400,500);
f.setVisible(true);
t.setText("查询中,请稍后... ...");
}
public void display(ResultSet result)throws SQLException{
ResultSetMetaData rsm=result.getMetaData();
int col=rsm.getColumnCount();
t.setText("");
while(result.next()){
for(int i=1;i1){
t.appendText("t");
try{
t.appendText(result.getString(i));
}catch(NullPointerException e){
System.out.println(e.getMessage());
}
}
t.appendText("n");
}
}
}
public static void main(String[] args)throws SQLException,Exception{
database lyo=new database();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String sql="select*from customers";
Connection conn=DriverManager.getConnection("jdbc:odbc:Northwind");
Statement stm=conn.createStatement();
ResultSet rs=stm.executeQuery(sql);
lyo.display(rs) ;
rs.close();
stm.close();
conn.close();
}
}
这是个查询数据库的例子,在例子中有一个方法是void display(ResultSet result)... 我怎麽看也不明白为什麽这个方法一定要用ResultSet result作为它的参数,既然这个方法不是java类库中早已规定好的,是认为创造的,那位什麽一定要在这里设了一个必须用的让人看不懂的方法参数呢?虽然在这个程序后面用到了result这个变量,可我怎麽也看不出它一定要放在这里的理由和display的联系!!既然是自己规定,在这里能不能不用这个参数,换成一个容易理解的方法呢(最好根本不用参数,或说明不用参数的绝对麻烦之处)。这个问题已有两个朋友给我解释过,可因为用的语言太简短,我还是没明白,请高手耐心一点用尽量长的语言解释一下在这里一定要用这个不好理解的参数而不用不行的理由吧!多谢!
///////////////////////////database.java////////////////////////////////
import java.awt.*;
import java.sql.*;
public class database{
Frame f;
TextArea t;
public database(){
f=new Frame("数据库测试");
t=new TextArea(80,200);
f.add(t);
f.setSize(400,500);
f.setVisible(true);
t.setText("查询中,请稍后... ...");
}
public void display(ResultSet result)throws SQLException{
ResultSetMetaData rsm=result.getMetaData();
int col=rsm.getColumnCount();
t.setText("");
while(result.next()){
for(int i=1;i1){
t.appendText("t");
try{
t.appendText(result.getString(i));
}catch(NullPointerException e){
System.out.println(e.getMessage());
}
}
t.appendText("n");
}
}
}
public static void main(String[] args)throws SQLException,Exception{
database lyo=new database();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String sql="select*from customers";
Connection conn=DriverManager.getConnection("jdbc:odbc:Northwind");
Statement stm=conn.createStatement();
ResultSet rs=stm.executeQuery(sql);
lyo.display(rs) ;
rs.close();
stm.close();
conn.close();
}
}
|
没有参数方法里怎么知道要做什么,要针对什么做事情呢?
你也可以先把resultset里面的东西取出来,在当参数传进去
其实这里不提倡用resultset传参 具体为什么我也说不清楚
你也可以先把resultset里面的东西取出来,在当参数传进去
其实这里不提倡用resultset传参 具体为什么我也说不清楚