jdbc:odbc String ?

0

Cześć
Mam następujący problem i wielką nadzieję, że może znajdzie się tutaj osoba, która będzie potrafiła pomóc.
Napisałam program w którym łączę się z bazą danych w Accessie. Mam problem z zapytaniem SELECT.
Po wpisaniu przez uzytkownika tekstu nastepuje odczyt danych z klawiatury i ich zapis do zmiennej String. Oto fragment kodu:

case 5: DBProgram.odczytajDane();
DBProgram.dostepneKategorie();
System.out.println ("\nTwoj wybor to: \n");
String kat = bf.readLine();

                        DBProgram.wyb(kat);
                        DBProgram.wyswietlWybor();
                        
                        break;

Zapytanie jest następujące:

public void wyb(String kat) throws SQLException
{
wynik = zapytanie.executeQuery("SELECT * FROM TABELA WHERE KATEGORIA = " + kat );
}

Chciałam zauważyć, że procedura działa prawidłowo a przypadku zmiennych typu INT w innych fragmentach programu, ale co ze Stringiem ?? Ma ktoś jakiś pomysł ??

0

w zapytaniach sql "parametry" typu String podaje sie w cudzyslowiach lub apostrofach czyli cos takiego:
SELECT * FROM costam WHERE kategoria = 'jakas kategoria' (lub "jakas kategoria")
w Javie aostrofy i cudzyslowia sa znakami ktore trzeba poprzedzac znakiem escape () czyi byloby cos takiego:

String zapytanie = "SELECT * FROM costam WHERE kategoria = '" + kat + "'";

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