query="select * from books where BookName LIKE \"%" +txt1.getText()+"%\"";
这是针对mysql服务器的数据库代码。 oracle会有什么变化?
答案 0 :(得分:3)
不要使用字符串连接构建SQL查询 - 您应该使用绑定参数。
您的查询字符串应为:
query="select * from books where BookName LIKE ?";
然后你可以做类似的事情:
Class.forName( "oracle.jdbc.OracleDriver" ); // If you are using the Oracle driver.
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE",
"username",
"password"
);
final String query="select * from books where BookName LIKE ?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString( 1, "%" + txt1.getText() + "%" );
ResultSet rs = ps.executeQuery();
// Loop through the result set.
// Close statement/connections
(您需要处理异常等)
和
如果要将查询编写为字符串,则SQL中的字符串文字用单引号(而不是双引号)包围:
query="select * from books where BookName LIKE '%your_string%'";
并且您需要确保字符串中的任何单引号都已正确转义(但只需使用绑定参数)。
答案 1 :(得分:0)
这个问题解决了..
query ="从书籍中选择*,其中BookName LIKE'%" + txt1.getText()+"%'&#34 ;;
谢谢大家:)