Błąd w zapytaniu do bazy danych

0

Witam,

siedzę na tym od jakiegoś czasu i nie wiem gdzie jest błąd

 

String sql = "INSERT INTO klienci " + 
                    "VALUES ('"+ imie +"', '" + nazwisko + "', '" + ulica + "', " + nrUlicy + ", " + nrDomu + ", '" + kod + "' , '" + miasto + "', '" + wojewodztwo +"')";

zmienne nrUlicy i nrDomu są zmiennymi typu int, reszta to varchary.

Dostaje błąd tego typu: ERROR: invalid input syntax for integer: ""

0

Nie pomieszałeś kolejności parametrów? Daj większy kawałek kodu i pokaż schemat tabeli to może uda się pomóc, tak to niewiele widać.

PS. Masz świadomość SQLInjection? Użyj PreparedStatement i parametryzacji zapytań.

0

Statement stmt = connection.createStatement();
      

            String imie = request.getParameter("imie");
            String nazwisko = request.getParameter("nazwisko");
            String ulica = request.getParameter("ulica");
            String nr1 = request.getParameter("nrulicy");
            String nr2 = request.getParameter("nrdomu");
            String kod = request.getParameter("kod");
            String miasto = request.getParameter("miasto");
            String wojewodztwo = request.getParameter("wojewodztwo");

            int nrUlicy = Integer.parseInt(nr1);
            int nrDomu = Integer.parseInt(nr2);

            String sql = "INSERT INTO klienci " + 
                    "VALUES ('"+ imie +"', '" + nazwisko + "', '" + ulica + "', " + nrUlicy + ", " + nrDomu + ", '" + kod + "' , '" + miasto + "', '" + wojewodztwo +"')";

Parametry są dobrze. I tak jak mówiłem nrDomu i nrUlicy sa Intigerami reszta to varchar.

0

Wystarczyło po klienci dodać w nawiasie wszystkie nazwy pół i działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1