我用JDBC连接了MYSQL数据库,对一个表(表的名字叫Coffees)进行的查询操作,我的代码如下:
public class Coffees {
/** Creates a new instance of Coffees */
public Coffees() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Connection con; Statement sql; ResultSet rs;
try { Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e)
{System.out.println(""+e + " TEST ");}
try{ con = DriverManager.getConnection("jdbc:mysql://localhost:3306/COFFEES","root","nbuser");
sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = sql.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES ");
while(rs.next())
{
String name = rs.getString("COF_NAME");
Double price = rs.getDouble("PRICE");
System.out.println(name + " " + price);
}
con.close();
}
catch (SQLException sqlexception){
System.out.println("Exception" + sqlexception);
}
}
}
我用executeQuery("SELECT COF_NAME, PRICE FROM COFFEES ")查询了一次该表,得到的结果集是:
Colombian 7.99
Colombian_Decaf 8.99
Espresso 9.99
French_Roast 8.99
French_Roast_Decaf 9.99我如果再次查询一次该表,executeQuery("SELECT COF_NAME , ABS(PRICE) AS PRICE FROM COFFEES"),得到的结果集是:
Colombian 7.9899997711182
Colombian_Decaf 8.9899997711182
Espresso 9.9899997711182
French_Roast 8.9899997711182
French_Roast_Decaf 9.9899997711182我的问题是:
如何用JAVA编程实现对这两个结果集进行比较,判断出它们不同?只需要判断出它们是否相同就可以了,谢谢各位大侠能给出指点!!!!
public class Coffees {
/** Creates a new instance of Coffees */
public Coffees() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Connection con; Statement sql; ResultSet rs;
try { Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e)
{System.out.println(""+e + " TEST ");}
try{ con = DriverManager.getConnection("jdbc:mysql://localhost:3306/COFFEES","root","nbuser");
sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = sql.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES ");
while(rs.next())
{
String name = rs.getString("COF_NAME");
Double price = rs.getDouble("PRICE");
System.out.println(name + " " + price);
}
con.close();
}
catch (SQLException sqlexception){
System.out.println("Exception" + sqlexception);
}
}
}
我用executeQuery("SELECT COF_NAME, PRICE FROM COFFEES ")查询了一次该表,得到的结果集是:
Colombian 7.99
Colombian_Decaf 8.99
Espresso 9.99
French_Roast 8.99
French_Roast_Decaf 9.99我如果再次查询一次该表,executeQuery("SELECT COF_NAME , ABS(PRICE) AS PRICE FROM COFFEES"),得到的结果集是:
Colombian 7.9899997711182
Colombian_Decaf 8.9899997711182
Espresso 9.9899997711182
French_Roast 8.9899997711182
French_Roast_Decaf 9.9899997711182我的问题是:
如何用JAVA编程实现对这两个结果集进行比较,判断出它们不同?只需要判断出它们是否相同就可以了,谢谢各位大侠能给出指点!!!!
其实直接对SQL进行控制就OK啦,干嘛非要对结果集进行比较?
rs2.last();
if (rs.getRow() != rs2.getRow()) {
//记录数不等,即结果不等
}
rs.first();
rs2.first();
while (rs.next() && rs2.next()) {
if (Math.abs(rs.getFloat(2) - rs2.getFloat(2)) > 0.00000001) {
//记录值不等
break;
}
}