gpt4 book ai didi

java - 运行时的代码打开了 jdbc 连接,但没有打印表数据。这段代码有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:39 25 4
gpt4 key购买 nike

package com.cg.tr.jdbc;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.cg.trg.utilself.DBUtilSelf;

public class MenuBase {
public static void main(String[] args) {
Connection connection = DBUtilSelf.openConnection();
System.out.println("Connection opened");
String sql="SELECT BNUM FROM BOOK";

try
{
Statement st=connection.createStatement();
ResultSet rs=st.executeQuery(sql);
System.out.println("Book details");
while(rs.next())
{
System.out.print(rs.getInt("BNUM")+"\t");
System.out.print(rs.getString("BNAME")+"\t");
System.out.print(rs.getFloat("BPRICE")+"\t");
System.out.print(rs.getString("BAUTHOR")+"\t");
System.out.println();
}

}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
DBUtilSelf.closeConnection();
}

}
}

此代码在 eclipse 上运行时不会打印 oracle 中表中的数据。输出为:

连接已打开图书详情

它不会进入 while 循环。也不会生成任何异常。我已确保表中的列名称写入正确。但它仍然没有给出输出

包 com.cg.trg.utilself;

import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DBUtilSelf
{

static Connection connection;
static String url;
static String username;
static String password;

static
{
//load properties file...
Properties prop =new Properties();
FileInputStream fis;

try
{
fis=new FileInputStream("jdbc.properties");
prop.load(fis);
}
catch(IOException e)
{
System.out.println("Problem while loading properties file:"+e.getMessage());

}

url=prop.getProperty("url");
username=prop.getProperty("username");
password=prop.getProperty("password");

}
public static Connection openConnection()
{
try
{
connection=DriverManager.getConnection(url,username,password);
}
catch(SQLException e)
{
System.out.println("Error while opening connection"+e.getMessage());
}
return connection;
}

public static void closeConnection()
{
if(connection!=null)
{
try
{
connection.close();
}
catch(SQLException e)
{
System.out.println("Error while closing connection:"+e.getMessage());
}
}
}
}

这是 DBUtilSelf.java 文件

最佳答案

代码是正确的,但唯一的问题是在sql中创建表后,没有提交。在sql中使用commit查询将更改保存在数据库中,以便可以通过jdbc看到它们。

关于java - 运行时的代码打开了 jdbc 连接,但没有打印表数据。这段代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39436697/

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