2015-05-01 4 views
-2

HI Я создаю календарь, используя базу данных derby. Я создал и вставил в базу данных, однако при печати; он выдает ошибку EOF. Любой совет приветствуется, это метод, о котором идет речь.EOF Ошибка, база данных Java & Derby

public void show() { 
    try { 
     ResultSet results = stm.executeQuery("select * from Users"); 
     while (results.next()) { 
      //print result??? 
     } 
    } catch (Exception e) { 
     System.err.println(e.getMessage()); 
    } 
} 

Это трассировки стека:

Syntax error: Encountered "" at line 1, column 167. Exception in thread "main" java.lang.Error: Unresolved compilation

проблема: Метод Println (булево) в типа PrintStream не применяется для аргументов (недействительными)


Здесь установка

 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 
    } 
} 
+1

Пожалуйста, измените эту строку: 'System.err.println (e.getMessage());' следующим образом: 'e.printStackTrace()', запустите код еще раз, скопируйте соответствующий стек и отредактируйте вопрос, чтобы предоставить нас - стек. –

+0

Теперь у вас есть ошибки компиляции, и ваш код не может быть выполнен. –

+0

Вы пытаетесь запустить несовместимый код - никогда не делайте этого. Итак, какая линия является нарушающей линией? Какая строка говорит вам ваш компилятор? –

ответ

1

Нарушитель линия от вашего Pastebin это:

System.err.println(e.printStackTrace()); 

e.printStackTrace() является void метод, в том, что он не возвращает ничего. Вы не можете передать результат этого метода System.err.println(...), поскольку это не имеет смысла: печатать нечего.

Вы должны написать

e.printStackTrace(); 

вместо этого.

Смежные вопросы