如何从JavaDB读取数据
我试图创建一个简单的Java应用程序,从JavaDB读取数据。 其目的是从数据库中获取第一个“UNAME”变量,并将其分配给“user”变量并打印它如何从JavaDB读取数据,java,javadb,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; /** *
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 block,你会丢失存储在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);
}
缺少加载驱动程序类逻辑,请添加此
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
将这个derbyclient-10.2.2.0.jar添加到类路径
希望它能帮助您更换
user = rs.getString(0);
与
第一列是1,第二列是2,…
检查也许你应该看看异常。你确定要在这里使用用户名吗
ASD.Table1
,我想你只需要使用选择UNAME from Table1
将ASD.Table1更改为Table1,结果还是一样的,我想问题可能是数据库连接,因为我无法获得“成功连接”输出。但是我仍然不知道我在哪里犯了一个错误。也许你应该看看例外。谢谢你的帮助,我确信DB的细节是正确的,我甚至创建了另一个来确保。似乎还有另一个问题。
user = rs.getString(1);