Я создаю windows приложение GUI на базе NetBeans 8.2 и JAVA DB. Я впервые использую дерби. Установив все требования, я сделал небольшую страницу входа, которая работала правильно. (Может войти в систему, используя данные из базы данных, может запустить базу данных, может обнаружить, не хранятся ли значения в базе данных)
Имя базы данных - Подробности. TABLE1 для входа в систему CITIZENS TABLE2 для регистрации в SIGN_UP
LOGIN-
try{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
java.sql.Connection con=DriverManager.getConnection("jdbc:derby:C:\\netbeans\\Derby-10.14\\Details","root","root");
java.sql.Statement stmt=con.createStatement();
String DBQuery="Select * from ROOT.CITIZENS where USERID='"+userText.getText()+"' AND PASSWORD='"+pass.getText()+"' ";
ResultSet rs=stmt.executeQuery(DBQuery);
if(rs.next())
{
new MainPage().setVisible(true);
this.dispose();
}
else
JOptionPane.showMessageDialog(null,"Failed");
}catch(HeadlessException | ClassNotFoundException | SQLException e){
System.err.println(e);
}
Аналогичным образом я сделал регистрацию page-
try{
String n=name.getText().trim();
int a=Integer.parseInt(age.getText());
String i=id.getText().trim();
String p=pass.getText().trim();
int m=Integer.parseInt(mn.getText());//mobile
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
java.sql.Connection con=DriverManager.getConnection("jdbc:derby:C:\\netbeans\\Derby-10.14\\Details","root","root");
java.sql.Statement stmt=con.createStatement();
String DBQuery=("insert into ROOT.SIGN_UP values ('"+n+"','"+a+"','"+i+"','"+p+"','"+m+"')");
JOptionPane.showMessageDialog(this, "Record inserted");
}catch(HeadlessException | ClassNotFoundException | SQLException e){
System.err.println(e);
}
После запуска проекта я получил ошибку-
java. sql .SQLException: не удалось запустить базу данных 'C: \ netbeans \ Derby-10.14 \ Details' с загрузчиком классов sun.mis c. Launcher$AppClassLoader@60e53b93 см. подробности в следующем исключении.
Когда я попытался проверить базу данных, возникла ошибка - Невозможно подключиться. Не удается установить sh соединение jdb c: derby: // localhost: 1527 / Подробности с использованием org. apache .derby.jdb c .ClientDriver (DERBY SQL ошибка: ERRORCODE: 40000, SQLSTATE: XJ040 , SQLLERRM C: Не удалось запустить «Детали» базы данных с загрузчиком классов sun.mis c. Launcher$AppClassLoader@1d44bcfa, подробности см. В следующем исключении .::SQLSLATE:XSDB6).
Я также пришел через ошибку- java. sql .SQLSyntaxErrorException: столбцы типа 'INTEGER' не могут иногда содержать значения типа 'CHAR'.