Tôi tin rằng bạn đang thực hiện điều này khó hơn cần thiết và đồng thời bạn đang thiếu thứ gì đó. Đây có phải là những gì bạn đang cố gắng làm không?
SELECT country FROM data WHERE city LIKE 'jakarta%'
Tức là, bạn đang tìm cột quốc gia từ mỗi hàng có tên thành phố bắt đầu bằng 'jakarta'? Nếu vậy, đừng quên ký hiệu %
. Nếu bạn không bao gồm các %
dấu, sau đó
SELECT country FROM data WHERE city LIKE 'jakarta'
và
SELECT country FROM data WHERE city = 'jakarta'
nghĩa chính xác những điều tương tự như nhau, và các nhà điều hành LIKE
là vô nghĩa; bạn cũng có thể sử dụng toán tử =
.
Vì vậy, có vẻ như với tôi truy vấn MySQL bạn muốn là
SELECT country FROM data WHERE city LIKE CONCAT(LEFT('jakartada',7),'%')
để thêm dấu%. Bạn không cần chọn lựa trong trường hợp này.
Giống như bạn chỉ ra, các mã Java bạn cần sau đó là:
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 */
Nguồn
2013-01-15 03:00:54
OP được sử dụng 'LIKE' Vì vậy, tôi hơi lo lắng về việc ném SQLException .. – Smit
Sau đó, bắt SQLException? – hd1
@Kevin Bowersox: cách thêm tham số vào câu lệnh, bạn có thể đưa ra ví dụ với truy vấn đó không? – reza