Я пишу настольное приложение на Java для добавления / отображения сотрудников. Я думал об использовании hsqldb. Я создал программу, как показано ниже
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class HSQLDBManualOp {
/**
* @param args
*/
public static void main(String[] args) {
Connection connection = null;
ResultSet resultSet = null;
Statement statement = null;
String createtablestr = "CREATE TABLE employeedetails (EMPNAME varchar(20));";
String insertstr1 = "INSERT INTO employeedetails (EMPNAME) VALUES ('EMPNAME1')";
String insertstr2 = "INSERT INTO employeedetails (EMPNAME) VALUES ('EMPNAME2')";
String insertstr3 = "INSERT INTO employeedetails (EMPNAME) VALUES ('EMPNAME3')";
try {
Class.forName("org.hsqldb.jdbcDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
connection = DriverManager.getConnection("jdbc:hsqldb:file:C:/code/java/march112011aDB", "SA", "");
} catch (SQLException e) {
e.printStackTrace();
}
if (connection == null){
System.out.println(" connection null");
return;
}
try {
statement = connection.createStatement();
statement.executeUpdate(createtablestr);
statement.executeUpdate(insertstr1);
statement.executeUpdate(insertstr2);
statement.executeUpdate(insertstr3);
resultSet = statement.executeQuery("SELECT EMPNAME FROM EMPLOYEEDETAILS");
} catch (SQLException e) {
e.printStackTrace();
}
try {
while (resultSet.next()) {
System.out.println("EMPLOYEE NAME:" + resultSet.getString("EMPNAME"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
когда я запустил программу, я получил вывод
EMPLOYEE NAME:EMPNAME1
EMPLOYEE NAME:EMPNAME2
EMPLOYEE NAME:EMPNAME3
Затем я изменил оператор вставки, чтобы добавить
EMPNAME4, EMPNAME5, EMPNAME6
Я ожидал, что это напечатает сотрудников 1,2,3,4,5,6
но когда я запустил код, я получил только новые значения.
EMPLOYEE NAME:EMPNAME4
EMPLOYEE NAME:EMPNAME5
EMPLOYEE NAME:EMPNAME6
Разве невозможно сохранить значения при использовании jdbc: hsqldb: file?
Я также хотел бы проверить, существует ли таблица .. и выполнить оператор создания таблицы, только если таблица не существует. Может кто-нибудь сказать мне, как это сделать?
Или мне нужно использовать режим сервера? Если да, то как мне создать БД из программы?
пожалуйста, помогите .. это моя первая попытка jdbc / hsqldb ..
спасибо,
знак