Попробуйте использовать следующий код:
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
public class DB_Cliinic {
public static void main(String[] args) {
Connection con = null;
Statement stat = null;
ResultSet res = null;
String q = "select * from EMPLOYEE";
try {
con = DriverManager.getConnection("jdbc:derby://localhost:1527/VetClinic;");
stat = con.createStatement();
res = stat.executeQuery(q);
while (res.next()) {
char id = (char) res.getCharacterStream("EMP_ID").read();
String name = res.getString("NAME");
char phone =(char) res.getCharacterStream("PHONE_NUMBER").read();
String Edu = res.getString("EDUCATION_LEVEL");
/*TODO: uncomment the block below*/
/*double sal = res.getDouble("SALARY");
String role = res.getString("ROLE");
char sex = (char) res.getCharacterStream("SEX").read();
String addr = res.getString("ADDRESS");
char crn = (char) res.getCharacterStream("ECRN").read();
char super_id = (char) res.getCharacterStream("SUPER_ID").read();*/
System.out.println(" "+id+" "+name+" "+phone+" "+Edu);
}
}
catch (SQLException e){
System.out.println(e.getMessage());
} catch (IOException ex) {
Logger.getLogger(DB_Cliinic.class.getName()).log(Level.SEVERE, null, ex); } } }
Попробуйте добавить один этап отладки, как я делал с: System.out.println(e.getMessage());
вы увидите ошибку. Ошибка вызвана проблемой соединения с базой данных.
Исправление проблемы соединения
Ваше имя базы данных VetClinic
и ваша таблица EMPLOYEE
Интерактивная команда Derby для создания вашей базы данных
connect 'jdbc:derby:VetClinic;create=true';
Создать таблицу и вставить данные
create table EMPLOYEE(EMP_ID char(10) primary key, NAME varchar(50), PHONE_NUMBER char(10), EDUCATION_LEVEL varchar(50), ...)
;
insert into EMPLOYEE values ('id-1', 'name1', '00001', "Level10"), ('id-2', 'name2', '00002', 'Level11'), ...;
- В конце убедитесь, что у вас есть правильный URL-адрес соединения
jdbc:derby://localhost:1527/VetClinic;
Перед запуском программы запустите сервер Derby, сообщение должно выглядеть следующим образом:
Пожалуйста, убедитесь, что Apache Derby Network Server запущен и готов принимать соединения на порт 1527