PreparedStatement w instrukcji select

0

Chciałbym łącząc się z bazą danych MySQL wykorzystać w zapytaniu SQL nazwy tabel pobrane z komponentu JComboBox

(uzywajac prepared statement).

 String nazwaTab = (String)wyborTab.getSelectedItem(); 
            String zapt="SELECT * FROM ?"; 
            con=nowePolaczenie.zwrocCon();
                    

prepStm=con.prepareStatement(zapt,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
        prepStm.setString(1, nazwaTab);
        ResultSet rs=prepStm.executeQuery();

Po uruchomieniu programu i wyborze z listy nazwy tabeli dostaje komunikat:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near produkty at line 1

Czy niepoprawnie wstawiam, wartosc a miejsce (?) a moze nie mozna uzyc zmiennej ( ?) w miejscu gdzie powinna byc nazwa tabeli w zapytan ?

0

Chyba nie można, ale nie jest to potrzebne:

PreparedStatement ps=null;
.....
String cmd="SELECT * FROM ";
ps=con.prepareStatement(cmd+nazwaTabeli);

pozdrawiam

0

Dziękuję bardzo. Działa !

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