2016-09-30 73 views
0

我想使用DQL的COUNT命令找到我正在查找的值。通常我輸入要訪問的列名稱getInt( )getString()方法。當沒有特定的colomn名稱時我應該做什麼。如何訪問Java程序中的DQL count()查詢的值

{ 
    String query = "select count(*) as count from dm_user;"; 
    return query;   
} 

代碼以獲取結果

{ 
    IDfCollection total = dql.execute(session, IDfQuery.DF_READ_QUERY); 

    while (total.next()){ 
     cint = total.getInt("count"); 
} 

Tomcat的結果

DfException:: THREAD: http-8080-2; MSG: [DM_QUERY_E_SYNTAX]error: "A Parser Error (syntax error) has occurred in the vicinity of: select count(*) as count"; ERRORCODE: 100; NEXT: null

回答

3

您正在使用count這是你的列自定義名稱的關鍵詞,你發佈顯然是錯誤說它: A Parser Error (syntax error)

這會做

select count(*) as quantity from dm_user; 

和取結果一樣

IDfCollection total = dql.execute(session, IDfQuery.DF_READ_QUERY); 

    while (total.next()){ 
     cint = total.getInt("quantity"); 

將工作

+0

是的,它的工作! 謝謝三木! – Zeus07

+0

你可以將答案標記爲已接受(似乎你也不會在你的其他問題上做它) – Miki

2

雖然@Miki回答它已經但是我想在這裏補充一個很小的事情,下面的代碼應該工作太多,如果你還沒有指定了任何別名。

{ 
    IDfCollection total = dql.execute(session, IDfQuery.DF_READ_QUERY); 

    while (total.next()){ 
    cint = total.getInt("count(*)"); 
    } 
} 
+0

我已經嘗試過你的方式,它也工作! 謝謝Sanjeev! – Zeus07