2013-01-07 72 views
0

我有以下SQL線(環內):SQL和Java搜索的子

ResultSet rs = stmt.executeQuery("SELECT * FROM item WHERE itemName='"+ string.get(1) +"'"); 

string.get(1)包含每個循環的時間去不同的字符串。 當前SQL行我將恢復只等於string.get(1), 行,但我想獲得的所有行是string.get(1)itemName 子字符串我知道它應該去:%string.get(1)%但是我不知道確切的語法。

任何人都可以幫忙嗎?

+0

你的意思是你想用''''''''''''''''''''''''''' – Smit

回答

1

使用SQL中的LIKE子句。

ResultSet rs = stmt.executeQuery 
    ("SELECT * FROM item WHERE itemName LIKE '%"+ string.get(1) +"%'"); 
+2

這是正確的,但它將是'SQL注入'的公開邀請。 – Smit

+0

僅當'string.get(1)'直接從用戶獲取數據時。 –

+0

嘿埃裏克羅伯遜, –

0

你的意思是?

SELECT * FROM TABLE WHERE COL LIKE '%SOME_TEXT%';