如何从Grails中的SQL查询中获取字符串值?

如何从Grails中的SQL查询中获取字符串值?,sql,string,url,grails,groovy,Sql,String,Url,Grails,Groovy,我需要返回一个字符串值,这样我就可以通过Restful从另一个应用程序构建一个对象。下面是我的部分代码片段: def searchProductionOrder (String sequentialNumber) { def sql = Sql.newInstance(dbUrl, user, pwd, driverName) String idProdOrder = sql.execute(""" SELECT production_order.idProdOr

我需要返回一个字符串值,这样我就可以通过Restful从另一个应用程序构建一个对象。下面是我的部分代码片段:

def searchProductionOrder (String sequentialNumber) {
    def sql = Sql.newInstance(dbUrl, user, pwd, driverName)
    String idProdOrder = sql.execute("""
        SELECT production_order.idProdOrder
        FROM production_order production_order
        WHERE production_order.sequential_number LIKE ${sequentialNumber}
         """).toString();
    String url = ":8080/app2/api/productionOrder/"+idProdOrder
    // call to Restful service
    return Order
}
但是字符串url总是被解释,我将其打印出来进行测试,如下所示:

url::8080/app2/api/productionOrder/true

我需要idProdOrder字符串返回其值,而不是布尔值。我怎样才能做到


提前感谢,

不要执行总是返回布尔值的execute,而是执行以下操作

def searchProductionOrder (String sequentialNumber) {
    def sql = Sql.newInstance(dbUrl, user, pwd, driverName)
    String idProdOrders = sql.rows("""
        SELECT production_order.idProdOrder
        FROM production_order production_order
        WHERE production_order.sequential_number LIKE ${sequentialNumber}
         """)
    if(idProdOrders.size()==1)
    {
      String url = ":8080/app2/api/productionOrder/"+idProdOrders[0].idProdOrder
      // call to Restful service
      return Order 
    }
    else
    {
      //You have either no results from the query or more then 1 so do something
    }

}
如果您想确保为每个结果都做了一些事情,那么也可以使用sql.eachRow。文件是。唯一需要再次检查的是它返回的条目的名称。我不确定它会做什么,因为您执行生产订单。idProdOrder