2011-06-27 69 views
2

我是Java,Eclipse,Google App Engine和數據存儲的新手,正在編寫我的第一個應用程序,以便爲工作和專業開發目的自學一些新技術。查詢數據存儲時出現錯誤信息

我有一個Java應用程序,可以根據密鑰成功保存並從我創建的數據存儲中檢索數據。我現在希望能夠爲元代碼,如做基於其他信息,更一般的查詢在數據存儲區:

select key_column from my datastore where other_column = "data to be searched" 

要做到這一點,我已經做了一些在線閱讀,並參考了奧賴利編程Google App Engine。我從示例代碼開始,它失敗並顯示錯誤消息:

嘗試聯繫服務器時發生錯誤。
請檢查您的網絡連接,然後再試一次

我的代碼在這一點是:在最後String netinput線發生

Query q = new Query("Force"); 
q.addFilter("ForceName", Query.FilterOperator.EQUAL, input); 
PreparedQuery pq = datastore.prepare(q); 
for (Entity forceresult : pq.asQueryResultIterable()); { 
    String newinput = (String) result.getProperty("ForceCode"); 
} 

錯誤。

數據存儲區代碼存在,很好 - 我已經成功寫入/讀取它。

上述示例代碼的文檔缺乏,但是在這方面的新手,例如:我假設實體的'forceresult'只存在於for循環中,不能從外部引用 - 這很好跟我。

但是,在String newinput行中,我編碼爲result.getProperty,即使在我看來它應該是forceresult.getProperty,因爲這是我想要參考的內容。 然而,當我編碼時,Eclipse告訴我,即使已經在上面的行中定義了Entity,它也不能解析forceresult

result一個保留字,我錯過了什麼意義? 我的代碼在其他方面有錯嗎?也許我不正確理解asQueryResultIterable? 我應該如何解釋錯誤消息:

嘗試聯繫服務器時發生錯誤。
請檢查您的網絡連接,然後再試一次

我希望有人能指出我在正確的方向要麼在哪裏往後走在我的學習曲線一個明確的答案或建議。

回答

4

您在循環中出錯(一個;太多:))。試試這個:

for (Entity forceresult : pq.asQueryResultIterable()) { 
//             ^; was here 
    String newinput = (String) result.getProperty("ForceCode"); 
} 

因此你的循環竟是空的,result.getProperty(...)接到電話之外,其中沒有定義forceresult

+0

謝謝你 - 你是多麼的明星! – Aenathras