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

标签 sql string url grails groovy

我需要返回一个String值,以便可以通过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
}

但是String url始终被解释为(我将其打印以进行测试)为:

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



我需要idProdOrder字符串返回其值,而不是 bool(boolean) 值。我该怎么办?

提前致谢,

最佳答案

而不是执行总是返回 bool(boolean) 值的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。该文档为here。唯一要仔细检查的是它返回的条目的名称,我不确定它会做什么,因为您执行production_order.idProdOrder

关于sql - 如何从Grails中的SQL查询获取字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7515152/

相关文章:

Java URLConnection 整数问题

sql - MySQL解释异常

SQL 删除自动命名约束

字符 arr = "...";在C程序中导致崩溃

python - 使用 BeautifulSoup 为每个子页面抓取数据 - url 很长且格式不同

用户个人资料的 URL?成为斜杠后的子域或文本?

sql - 合并区间数据组 - SQL Server

sql - 如何 "deepcopy"行

string - Haskell 中任意长度的多个分隔符分割字符串

C++:Getline 在第一个空格处停止读取