Uważam, że robisz to trudniej, niż musi być, a jednocześnie czegoś brakuje. Czy to właśnie próbujesz zrobić?
SELECT country FROM data WHERE city LIKE 'jakarta%'
To znaczy, czy szukasz kolumny kraju z każdego rzędu, gdzie nazwa miasta zaczyna się na "Dżakarta"? Jeśli tak, nie zapomnij o znaku %
. Jeśli nie to znak %
, potem
SELECT country FROM data WHERE city LIKE 'jakarta'
i
SELECT country FROM data WHERE city = 'jakarta'
myśli dokładnie tak samo jak każdy inny, a operator LIKE
ma sensu; równie dobrze możesz użyć operatora =
.
Tak, wydaje mi się kwerenda MySQL chcesz to
SELECT country FROM data WHERE city LIKE CONCAT(LEFT('jakartada',7),'%')
dodanie znaku%. W tym przypadku nie potrzebujesz podselekcji.
Jakbyś zauważył, kod Java trzeba wtedy jest:
String sql = "SELECT country FROM data " .
"WHERE city LIKE CONCAT(LEFT(?,7),'%')";
PreparedStatement ps = koneksi.prepareStatement(sql);
ps.setString(1, city );
ResultSet rs = ps.executeQuery();
... process the rs records ...
rs.close(); /* please don't forget to close your result sets */
OP używa 'LIKE' Więc jestem trochę zaniepokojony wyrzucaniem wyjątku SQLEx. – Smit
Następnie złapać wyjątek SQLException? – hd1
@Kevin Bowersox: jak dodać parametr na wyciągu, czy możesz podać przykład z tym zapytaniem? – reza