繁体   English   中英

如何将结果集对象与字符串进行比较?

[英]How do i compare a resultset object with a string?

我想将提取到ResultSet对象中的数据库与存储在属性文件中的数据库进行比较。如果数据库与属性文件的dbname匹配,它将打印xxx。我在下面提供代码。

public static void main(String[] args) throws IOException, ClassNotFoundException,   SQLException {
Properties props=new Properties();
props.load(new FileInputStream("/home/core/Desktop/Java/Sample Netbeans   Projects/Project/PropStoreDb/StoreDbNameProps.properties"));        
Class.forName(props.getProperty("db.driver"));
Connection con= DriverManager.getConnection("jdbc:mysql://localhost/", "root", "");
Statement st = con.createStatement();
    ResultSet rs = st.executeQuery("show databases");
    if(rs.next()){
        for(int i=1;i<=rs.getRow();i++){
            if(rs.getString(i).equals(props.getProperty("db.dbname")))
            {
                System.out.println("xxx");
            }
        }
    }

这是属性文件

db.dbname=mydb
db.url=jdbc:mysql://localhost/mydb
db.driver=com.mysql.jdbc.Driver

将代码更改为

while(rs.next()){
if(rs.getString(1)!=null && rs.getString(1).equals(props.getProperty("db.dbname")))
            {
                System.out.println("xxx");
            }
}

不需要for循环。 查询show databases; 将返回一个具有单个列的结果集。因此,您可以使用rs.getString(1)获取数据,因为列ID从1开始

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM