回 帖 发 新 帖 刷新版面

主题:[讨论]與java連接數據庫有關!!!!

用於模糊查詢,其預編譯語句該怎麼去寫!!!
          用PreparedStatement語句寫!!
例如:
     String str="abc"
     我要查詢以 str 開頭的字符串;
     

回复列表 (共5个回复)

沙发

这些好象是SQL语言的东西,我记得好象可以这么写SQL:select * from * where str LIKE "abc%";

板凳

寫是這樣寫的,如果用PreparedStatement命令

select * from * where str like ? 
這裡應該是個問號吧,這個參數該怎麼傳???如果直接傳abc又不對
象從文字框獲得的數據你不可能就先在那加上%,
該怎麼處理??

3 楼

使用  setString  方法,然后再执行查询就可以了.

setString
void setString(int parameterIndex,
               String x)
               throws SQLException将指定参数设置为给定 Java String 值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARCHAR 或 LONGVARCHAR 值(取决于该参数相对于驱动程序在 VARCHAR 值上的限制的相对大小)。 

参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
x - 参数值 

4 楼

PreparedStatement st=con.createPreparedStatement("select * from * where str like ? ");
st.setString(1,"abc");

5 楼

象从文本框获得数据的话,你完全可以写PreparedStatement的setString()之前组装好String,用接受到的String+"%",再将它Set进问号里不就可以的吗

我来回复

您尚未登录,请登录后再回复。点此登录或注册