У меня проблема с использованием этой базы данных (SQLite), главная проблема в том, что я всегда получаю сообщение об ошибке "база данных заблокирована". Я думаю, что я не знаю, как правильно использовать это в методе и выполнять что-то вроде вставки, обновления или удаления данных..
сначала на методе мой код выглядит следующим образом.
это метод
public void PatEncounterMonthly(){
try{
String sql = "Select [Month/Year],Patient_Encounter from Date_Encounter ORDER by ID desc";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
jTable6.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
e.printStackTrace();
}finally {
try {
rs.close();
pst.close();
}catch(Exception e){
}
}
}
Я также исследую, как правильно закрыть соединение и пробую всено я получил ошибку типа nullpointerexception
public void PatEncounterMonthly(){
try{
String sql = "Select [Month/Year],Patient_Encounter from Date_Encounter ORDER by ID desc";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
jTable6.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
e.printStackTrace();
}finally {
try {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
}
}
if (pst != null) {
try {
pst.close();
} catch (Exception e) {
}
}
if (conn != null) {
try {
conn.close();
}catch(Exception e) {
}
}
}catch(Exception e){
}
}
}
, когда я использую второй код для одного метода, я получил ошибку nullpointerexception.
Также при вставке / обновлении / удалении данных, подобных этой
LoginForm LF = new LoginForm();
String add1 = LF.jTextField1.getText();
String add2 = jTextField1.getText();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String Date = (sdf.format(new java.util.Date()));
try{
String sql1 = "Insert into Activity_Log (User_ID,Activity,Log_Date) values ((Select ID from User_Table where UserName = ?),?,?)";
pst = conn.prepareStatement(sql1);
pst.setString(1, add1);
pst.setString(2, "Update Patient ID "+add2);
pst.setString(3, Date);
pst.execute();
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}finally{
try{
rs.close();
pst.close();
}catch(Exception e){
}
}
я должен поменять блок all finally на
finally {
try {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
}
}
if (pst != null) {
try {
pst.close();
} catch (Exception e) {
}
}
if (conn != null) {
try {
conn.close();
}catch(Exception e) {
}
}
Может кто-нибудь узнать мою ошибку и исправить ее