Dodanie prostych Stringow do bazy danych

0

Witajcie, mam dosc prosty problem - nie chce mi dzialac proste dodanie zmiennych do bazy danych:

Connection con;
try {
con = DriverManager.getConnection(
"jdbc:derby://localhost:1527/kluczobcy",
"aa", "aa");
Statement st = con.createStatement();

String l = "ajax";
String k = "betax";

String sql =
"INSERT INTO Osoby VALUES ("+l+","+k+")";
st.execute(sql);

st.close();
con.close();
} catch (Exception e) {
System.err.println(e.getMessage());
} 

I wywala mi blad:

Kolumna 'AJAX' nie znajduje się w żadnej tabeli z listy FROM lub pojawia się w specyfikacji łączenia i jest poza zasięgiem tej specyfikacji, albo pojawia się w klauzuli HAVING i nie ma jej na liście GROUP BY. Jeśli jest to instrukcja CREATE lub ALTER TABLE, wtedy 'AJAX' nie jest kolumną w tabeli docelowej.

Jesli zamiast zmiennych podam stringi w "" to wszystko normalnie dziala.
Co jest nie tak??

0

"INSERT INTO Osoby VALUES ('"+l+"','"+k+"')";

jak zadziala to kupujesz mi browara

0

Nie dziala:(

Teraz wyskakuje:

Liczba przypisanych wartości nie jest taka sama, jak liczba określonych lub sugerowanych kolumn.

I badz tu madry...

0

Spróbuj tak :

"INSERT INTO Osoby(nazwa_kol1,nazwa_kol2) SELECT '"+l+"','"+k+"'";

0

Tez nic:/

Błąd składniowy: Encountered "<EOF>" at line 1, column 54.

Wczesniej probowalem tez tak:

"INSERT INTO Osoby " +
"(imie, nazwisko) " +
"VALUES ("+l+","+k+", "+j+")"; 

Ale robi sie ta sama sytuacja co przy moim pierwszym poscie. Po prostu formula, jezeli wpiszemy wartosci reczenie jest ok, ale nie dziala ze zmiennymi czy innymi obiektami. Bezsens

0

Poprawka, probowalem tak:

"INSERT INTO Klienci " +
"(imie, nazwisko, haslo) " +
"VALUES ("+l+","+k+")";

0

Udalo sie! :)

Trzeba bylo uzyc prepared statement (bzdura wedlug mnie):

PreparedStatement s2;
   s2 = con.prepareStatement (
               "INSERT INTO Osoby (imie, nazwisko) VALUES(?,?)");
   s2.setString (1, l);
   s2.setString (2, k);
   int count = s2.executeUpdate ();
   s2.close (); 

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