gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:43 24 4
gpt4 key购买 nike

我想将提取到 ResultSet 对象中的数据库与存储在属性文件中的数据库进行比较。如果数据库与属性文件的数据库名称匹配,它将打印 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 循环。查询 showdatabase; 将返回包含单个列的结果集。因此,您可以使用 rs.getString(1) 获取数据,因为列 id 从 1 开始

关于java - 如何将结果集对象与字符串进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22907945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com