java - 如何从 JavaDB 中读取数据
问题描述
我试图创建一个简单的 Java 应用程序,该应用程序将从 JavaDB 读取数据。目的是从数据库中获取第一个“UNAME”变量并将其分配给“user”变量并打印出来。
package giris;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* @author Ibrahim
*/
public class Giris {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String user = "";
System.out.println("hello world");
try
{
System.out.println("connecting to database");
Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/deneme", "ASD", "asd");
System.out.println("succesfully connected");
PreparedStatement pr = con.prepareStatement("select UNAME from ASD.Table1");
ResultSet rs = pr.executeQuery();
while(rs.next())
{
user = rs.getString(0);
}
}
catch(Exception e)
{
System.err.println("error");
}
System.out.println(user);
}
}
但是,当我运行应用程序时,输出是这样的:
run:
hello world
connecting to database
error
BUILD SUCCESSFUL (total time: 0 seconds)
解决方案
您正确使用了它,可能是错误的数据库详细信息。
顺便说一句,永远不要像这样使用 catch 块,你会丢失存储在e中的信息。
使用以下代码获取更多信息:
public static void yourMethod()
{
try
{
// Some code...
}
catch(Exception e)
{
logError("Got exception during...", e);
}
}
public static void logError(String message, Throwable e)
{
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
logError(message + "\n" + sw.toString());
}
public static void logError(String message)
{
System.err.println("[ERROR] " + message);
}
推荐阅读
- google-app-engine - 通过取消删除 POST 调用恢复云功能默认服务帐户
- c++ - 有没有办法比较用 int 初始化的 char 类型数组的 2 个元素?
- java - 无法将计数器(标题)设置为上下文操作栏
- php - 如何使用 PHP 一次更新多个方括号字符串
- sql - 如何在一组日期和时间之间切换
- javascript - 有没有办法在反应最终形式中禁用嵌套字段名称功能?
- amazon-web-services - 如何更改附加到弹性 beantalk 的负载均衡器
- angular - 错误 TS2554:预期 2 个参数,但使用 @ViewChild 得到 1 个
- visual-studio-code - 创建主题和语法颜色时是否可以在 Visual Studio 代码中使用颜色变量
- java - 错误: throw new UnsupportedOperationException("方法未反编译