我正在使用Google App Engine作爲項目,我需要對數據庫執行一些查詢。我使用JDOQL來詢問數據庫。在我的情況下,我想獲得包含子串「數組」的大學。我想我的查詢有一個錯誤,因爲它按字母順序返回大學的名稱,而不是包含子字符串的名稱。JDOQL與「包含」請求獲取結果的問題
Query query = pm.newQuery("SELECT FROM " + University.class.getName() + " WHERE name.contains("+array+") ORDER BY name RANGE 0, 5");
有人能告訴我在我的查詢中出了什麼問題嗎?
謝謝你的幫助!
編輯
我大學店的名單,我有一個suggestbox,我們可以要求他的名字的大學。我想自動完成請求的名稱。
你可以使用任何隨機名稱如更換「:邁克爾」。如果查詢中只有一個參數,則不需要聲明該參數,並且您的「數組」將被視爲代替該參數。請參閱我在答案中提供的鏈接中的「隱式參數」。 – Gopi 2010-09-21 07:54:43
如果array是大學名稱的子字符串,則不起作用。例如,如果array ='Harv',它將不會返回任何內容,但是如果數組完全等於存儲在數據庫中的大學的名稱,它將起作用。如果array ='哈佛大學'它的作品... – 2010-09-21 08:18:10
是的。我不認爲有什麼方法在應用程序引擎中搜索子字符串或類似於SQL中的'LIKE'。 – Gopi 2010-09-21 09:25:40