2015-05-13 51 views
0

我有一個用Java構建的查詢來選擇記錄,當用值?'構建時,我得到一個缺失的輸入和輸出參數。如果我只添加?,它工作正常。「在索引:: 1處缺少IN或OUT參數」時添加?'參數到我的查詢

這裏是我設置?'值查詢:

AND 1=fn_contact_account(P.RECORD_ID,'?''%') AND upper(P.PERSON_ID) like ?0 ESCAPE '\' AND NOT (P.PERSON_ID='Unknown'))) 
+3

您的問題目前很難理解。我*認爲*我知道什麼是錯的,但你應該更加努力:a)寫出清晰的英文; b)將代碼與文本分開格式化; c)提供一個完整的例子 –

+0

我是新來的java和堆棧overflow.Thanks的建議,我接受。 – Mihir

回答

1

參數不代入查詢文本上。我相信最簡單的做法是隻使用?作爲參數,但將任何前導或尾隨值添加到參數本身。例如:

String sql = "SELECT NAME FROM PERSON WHERE NAME LIKE ?"; 
try (PreparedStatement pst = conn.prepareStatement(sql)) { 
    // Trailing % for "starts with" behaviour 
    pst.setString(1, userInput + "%"); 
    ... 
} 
相關問題