Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

[JAVA] Program nie wstawia wierszy do bazy danych

#1
[JAVA] Program nie wstawia wierszy do bazy danych
Mam problem z programem w Javie. Do skonfigurowania połączenia z bazą danych mam użyć pliku xml który wygląda tak:
Kod:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
   <context-param>
       <param-name>driver</param-name>
       <param-value>org.apache.derby.jdbc.ClientDriver</param-value>
   </context-param>
   <context-param>
       <param-name>url</param-name>
       <param-value>jdbc:derby://localhost:1527/DataBase</param-value>
   </context-param>
   <context-param>
       <param-name>login</param-name>
       <param-value>log</param-value>
   </context-param>
   <context-param>
       <param-name>password</param-name>
       <param-value>pass</param-value>
   </context-param>
   <session-config>
       <session-timeout>
           30
       </session-timeout>
   </session-config>
</web-app>

Pobieranie parametrów bazy danych i tworzenie połączenia
Kod:
try {
           Class.forName("org.apache.derby.jdbc.ClientDriver");
       } catch (ClassNotFoundException ex) {
           Logger.getLogger(CensorServlet.class.getName()).log(Level.SEVERE, null, ex);
       }


try {

                // loading the driver
                Class.forName(servletContext.getInitParameter("driver"));
                // creating connection with the database
                Connection con= DriverManager.getConnection(servletContext.getInitParameter("url"),
                        servletContext.getInitParameter("login"), servletContext.getInitParameter("password"));
                servletContext.setAttribute("con", con);
            } catch (ClassNotFoundException | SQLException | NullPointerException e) {
              //  return false;
            }

wykonywanie inserta


Kod:
Statement statement = (Statement) context.getAttribute("con");
try {
                   statement.executeUpdate("INSERT INTO tabela VALUES (1, 'Nowak', 'Jan', '5.0', 'test')");
               } catch (SQLException ex) {
                   Logger.getLogger(CensorServlet.class.getName()).log(Level.SEVERE, null, ex);
               }


Problem w tym że w tabeli nie pojawiają się żadne nowe rekordy. Wszystko jest robione w netbeansie, baza danych też.

Dodaje kod serwletu w którym łącze się do bazy za pomocą tego pliku xml i próbuje robić inserta
http://wklej.org/id/1925434/
do tego plik xml
http://wklej.org/id/1925436/
 System operacyjny: windows_seven Przeglądarka: firefox
#2
RE: [JAVA] Program nie insertuje wierwszy do bazy danych
Trochę mało informacji, ale do developmentu ustawia się poziom logowania tak żeby jak najwięcej logował, a nie najmniej. Zmien Level.SEVERE na Level.FINEST. Sprawdź co zwraca wywołanie statement.executeUpdate. Czy w bazie danych rekord z ID równym 1 już istnieje? Podejrzewam, że może to być klucz główny i dlatego insert nie zadziała ponownie.
 System operacyjny: linux_fedora Przeglądarka: firefox
#3
RE: [JAVA] Program nie insertuje wierwszy do bazy danych
Connection con= DriverManager.getConnection(servletContext.getInitParameter("url"),
servletContext.getInitParameter("login"), servletContext.getInitParameter("password"));
servletContext.setAttribute("con", con);

Statement statement = (Statement) context.getAttribute("con");

Pobieranie atrybutu Connection do Statement , ta głupia pomyłka była powodem tego że to nie działało. Dzięki Koneton za pomoc. Nie odpisałem zaraz po twoim poście bo gdy zmieniałem kod by zobaczyć co zwraca statement.executeUpdate to zauważyłem że mój statement w podpowiedziach miał zupełnie inne metody niż powinien mieć. To mi już nie pasowało i chciałem najpierw to sprawdzić.
 System operacyjny: windows_seven Przeglądarka: firefox
#4
RE: [JAVA] Program nie wstawia wierszy do bazy danych
Czy w takim wypadku statement nie powinien być nullem lub wystąpić błąd rzutowania? Może gdzieś dalej ukrywasz błędy i tego nie widziałeś?
 System operacyjny: windows_seven Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki ([JAVA] Program nie wstawia wierszy do bazy danych)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 1857 16.09.2019, 11:18
Ostatni post: Ajgor
  Java- wypisanie liczb, które nie są podane w tablicy , wypisanie liczb z tablicy all? ccomp 10 14612 16.07.2017, 20:10
Ostatni post: ccomp
  czy w java można napisać dowolny program ? anders33 7 9592 04.04.2017, 22:03
Ostatni post: koneton

Skocz do:


Wybrane wątki ([JAVA] Program nie wstawia wierszy do bazy danych)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Sumowanie licz excel - problem OxyGenE 2 10143 19.12.2018 16:29
Ostatni post: Szachista
  Jaki kod pod pewne zdarzenia visualbasic 2010 aktywny27 4 7840 07.11.2018 13:41
Ostatni post: Ajgor
Scared Ipad Pro programowanie? NissmoOne 4 8630 06.10.2018 12:22
Ostatni post: NissmoOne
  C# pierwsza pusta komórka Excel DonCorleone 0 7928 21.09.2018 16:58
Ostatni post: DonCorleone
  .bat nie kompresuje plików GIENTY 3 8378 06.09.2018 07:20
Ostatni post: broda99
  problem z programem .bat wiktrom12 4 9498 30.08.2018 08:25
Ostatni post: wiktrom12
  Silnik do gier ZigglerGames 1 8200 23.08.2018 09:03
Ostatni post: Szachista
  Chciałbym zrobić prosty plik exe z jedną funkcją densour 4 8932 09.08.2018 16:24
Ostatni post: Ajgor
  Który język wybrać do stworzenia aplikacji synchronizujące pliki z urządzeniem mobiln Elemental 2 2407 18.07.2018 12:05
Ostatni post: Ajgor
  Pomysł napisania programu ROM FireBytes 3 9577 28.06.2018 16:56
Ostatni post: FireBytes
  [VBA] Tworzenie nowego arkusza z danymi z TextBox'a Pioro 4 9906 19.06.2018 23:24
Ostatni post: broda99
  Potwierdzenie na maila po wysłaniu pliku coci 0 9054 13.06.2018 20:37
Ostatni post: coci
  Pieczętowanie Archiwum Jar - Po co? wanhelsing 3 9656 19.05.2018 20:55
Ostatni post: koneton
  Wyszukiwarka w spawnerze nie reaguje na polskie znaki kazik666 0 9471 16.05.2018 12:04
Ostatni post: kazik666
  BASH symulator silnika dawswi1 3 9954 13.05.2018 10:43
Ostatni post: Szachista