【发布时间】:2015-07-11 12:15:42
【问题描述】:
您好,我正在使用 derby 数据库创建日历。我已经创建并插入到数据库中,但是在打印时;它会引发 EOF 错误。 欢迎任何建议,这是有问题的方法。
public void show() {
try {
ResultSet results = stm.executeQuery("select * from Users");
while (results.next()) {
//print result???
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
这是堆栈跟踪:
语法错误:在第 1 行第 167 列遇到“”。 线程“主”java.lang.Error 中的异常:未解决的编译
问题: PrintStream 类型中的方法 println(boolean) 不适用于参数 (void)
这是设置
public void populate() {
try {
stm.execute( "insert into Users values (User_ID, User_FirstName, User_LastName , AdminFlag, UserNamex, Passwordx"
+ "(12565, 'Elliot','Green','True' ,'elliot2','1234')");
--
public void createTable() {
try {
stm.execute("drop table User"); // May fail
} catch (Exception e) { e.printStack();}
String sql1 = "create table Users ( "
+ " User_ID Integer,"
+ " User_FirstName Varchar(50), "
+ " User_LastName Varchar(50), "
+ " AdminFlag Boolean, "
+ " UserNamex Varchar(50), "
+ " Passwordx Varchar(100) )";
try
{
stm.execute("drop table Users");
}
catch ( Exception e ) { e.printStackTrace(); }
try {
System.out.println("SQL sql1");
stm.execute(sql1);
} catch (Exception e) { e.printStackTrace(); System.exit(-1); // Give up
}
}
【问题讨论】:
-
请将这一行:
System.err.println(e.getMessage());改成这一行:e.printStackTrace(),再次运行代码,复制相关的堆栈跟踪并编辑问题以向我们提供堆栈跟踪。 -
现在出现编译错误,代码无法执行。
-
你试图运行不可编译的代码——永远不要那样做。那么哪条线是有问题的线呢?你的编译器告诉你哪一行坏了?
-
编译器告诉我有两个错误。都在 Show() 中。不知道发生了什么。
-
所以导致编译错误的违规行仅在您的 pastebin 上。您添加到问题中的代码不包含违规行,因此任何阅读您问题的人都不会发现问题。我想你不是故意隐藏有问题的线路来误导我们吗?无论哪种方式,这都是一个问得不好的问题。 -1