如何从Grails中的SQL查询中获取字符串值?
我需要返回一个字符串值,这样我就可以通过Restful从另一个应用程序构建一个对象。下面是我的部分代码片段:如何从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
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