Trong nhiều ngôn ngữ lập trình như thế này là có thể cho chuẩn bị phát biểu:Sử dụng một biến thay vì một chỉ số tham số với một JDBC chuẩn bị tuyên bố
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ${name}");
statement.setString("name", "IBM");
Nhưng không phải với java.sql.PreparedStatement. Trong Java người ta phải sử dụng chỉ số tham số:
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ?");
statement.setString(1, "IBM");
Có giải pháp để làm việc với các biến chuỗi như trong ví dụ đầu tiên không? "$ {. *}" Không được sử dụng ở một nơi nào khác trong ngôn ngữ SQL hay có xung đột gì không? Nguyên nhân sau đó tôi sẽ thực hiện nó một mình (phân tích cú pháp chuỗi SQL và thay thế mọi biến bằng "?" Và sau đó thực hiện nó theo cách Java).
Kính trọng, Kai
Nó bối rối cho tôi quá. http://www.javaworld.com/javaworld/jw-04-2007/jw-04-jdbc.html có nội dung tôi đã sử dụng nhiều lần. – akarnokd
Hey kd304, tôi tự hỏi tại sao bạn không để lại tin nhắn của bạn như là câu trả lời thay vì sử dụng một bình luận. Vì tôi nghĩ đó là cách để tôi giải quyết vấn đề đó. – Zardoz
@tokel: Tôi không chắc chắn về câu hỏi của bạn là lý thuyết hay không và nhận xét của tôi không thực sự trả lời câu hỏi đã nhập của bạn. – akarnokd