2014-04-29 113 views
-1

選擇我在一個簡單的Grails應用程序,它看起來像下面有一個控制器的值動態SQL查詢: 的其中這裏的條件是靜態的。我想在條件(每小時,Afiiliates)根據選擇使用單選按鈕(用於TIMEPERIOD)由是dyanamic的過濾器,並使用下拉菜單(中壓)基於在下拉/單選按鈕

class Tablev1classController { 
    def dataSource 
    def listJson = { 
     def sql = new Sql(dataSource) 
     def rows = sql.rows("select date_hour, total_revenue as sales, visits, marketing, organic,single_page_visits,total_units,orders,total_revenue_ly as sales_ly, visits_ly,marketing_ly, organic_ly,total_units_ly,orders_ly,single_page_visits_ly from xyz.mu_ewacs_marketing_vehicle_tylylw where time_period = 'HOURLY' && mv = 'AFFILIATES'") 
     sql.close() 
     render rows as JSON 
    } 

任何幫助,將不勝感激。

回答

1

你可能會找什麼命名或序參數。見Sql javadoc,章節「避免SQL注入」和「命名並命名爲序參數」。

使用序參數,這是可以做到這樣的:

def rows = sql.rows("select ... from xyz.whatever 
        where time_period = ? && mv = ?", [timePeriod, mv])