MySQL - update lub insert w zależności od występowania rekordu

0

Witam serdecznie.

Potrzebuję w swojej aplikacji metody, która w zależności od tego, czy dany rekord w istnieje w bazie MySQL czy nie, wykonywała polecenie INSERT lub UPDATE. Napisałem kod jak poniżej i wygląda na to, że działa, ale niestety konsola za każdym razem zwraca błąd "Operation not allowed after ResultSet closed". Bardzo proszę o podpowiedź, co tu może być nie tak?

public void doBazy() {
			String polecenie;
			String id = Integer.toString(i+1);
			String select = "SELECT * FROM k133 WHERE id=" + id + ";";
			try {
				rs = st.executeQuery(select);
				while (rs.next()) {
				String wn = rs.getString(2);
				String ma = rs.getString(3);
				if (wn == null && ma == null)
				polecenie = "INSERT INTO k133 VALUES(null, " + zmienna1 + ", " + zmienna2 + ");";
				else polecenie = "UPDATE k133 set WN='" + zmienna1 + "' WHERE id=" + id + "; UPDATE k133 set MA='" + zmienna2 + "' WHERE id=1;";
				st.executeUpdate(polecenie);
				}
				st.close();
			} catch(Exception e) {
				System.out.println(e.getMessage());
			}
	}
0

Czy ty jesteś poważny? Google " mysql insert or update"...
http://thingsilearn.wordpress.com/2007/10/29/mysql-insert-or-update-in-one-query/

0

po prostu napisz jedno query w stylu REPLACE INTO

0

Dzięki. Przepraszam, ale dopiero raczkuję w temacie MySQL i Java.

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