JAVA带预编译的模糊查询问题
import java.sql.*;
public class mohu
{public static void main(String args[])
{
Connection con;
//Statement sql;
ResultSet rs;
PreparedStatement sql;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{System.out.println(" "+e);
}
try{con=DriverManager.getConnection("jdbc:odbc:词典","","");
System.out.println("数据库连接成功");
sql=con.prepareStatement("SELECT * FROM 翻译 where 中文 LIKE '%?%'");
sql.setString(2,"瓷");
System.out.println(sql);
rs=sql.executeQuery();
while(rs.next())
{String number=rs.getString(1);
String kname=rs.getString(2);
System.out.print("中文:"+number);
System.out.print(" 英文:"+kname);
}
con.close();
}
catch(SQLException e)
{ System.out.println(e);}
}
}
以上为源码,编译后运行不出结果,但把语句 sql=con.prepareStatement("SELECT * FROM 翻译 where 中文 LIKE '%?%'");
sql.setString(2,"瓷");
换成
sql=con.prepareStatement("SELECT * FROM 翻译 where 中文 LIKE '%瓷%'");
就通了,哪位达人帮帮忙看下,呵呵。。。。。