Grails没有在表中显示SQL结果,我缺少什么?

时间:2013-03-21 11:37:13

标签: sql grails

我显然遗漏了一些显而易见的东西,但是我不知道我的生活是什么,我设置了一个显示自定义SQL查询的视图,但屏幕显示什么,这里是我得到的< / p>

控制器

def queueBreakdown(){
    String SQLQuery = "select state, count(test_exec_queue_id) as 'myCount' from dbo.test_exec_queue group by state"
    def dataSource
    def list = {
        def db = new Sql(dataSource) 
        def results = db.rows(SQLQuery)
        [results:results]
    }
}

如果我手动运行,我会得到一组结果,如此

state   myCount
1       1
test    2
test2   1

queueBreakdown.gsp具有以下内容......

<body>
    <a href="#list-testExecQueue" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content&hellip;"/></a>
    <div class="nav" role="navigation">
        <ul>
            <li><a class="home" href="${createLink(uri: '/')}"><g:message code="default.home.label"/></a></li>
        </ul>
    </div>

    <div id="queueBreakdown-testExecQueue" class="content scaffold-list" role="main">
        <h1><g:message code="Execution Queue Breakdown"  /></h1>
        <table>
            <thead>
                <tr>

                    <g:sortableColumn property="Run State" title="Run State"/>
                    <g:sortableColumn property="Count" title="Count" />
                </tr>
            </thead>

            <tbody>
                <g:each in="${results}" status="i" var="it">
                    <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
                        <td>${it.state}</td>
                        <td>${it.myCount}</td>
                    </tr>
                </g:each>
            </tbody>
        </table>
    </div>
</body>

但是当我查看页面时,我什么都没得到......桌子已经建成但是里面没有线条,我在这里有什么感觉呢?

干杯

1 个答案:

答案 0 :(得分:0)

你的控制器代码真的很混乱,这里的动作是什么? queueBreakdown()或list()?看起来你把2个动作混合在了一起,而queueBreakdown()没有返回任何模型...

class SomeController {

    def dataSource

    def queueBreakdown() {
        String SQLQuery = "select state, count(test_exec_queue_id) as 'myCount' from         dbo.test_exec_queue group by state"
        def db = new Sql(dataSource) 
        def results = db.rows(SQLQuery)
        [results:results]
    }
}