你知道如何存储
的结果吗? sql.eachRow()
示例:
sql.eachRow('select lastname from users where id='active')
我想要的是存储结果,即。 lastnames到列表即def personlist = []; 我知道我可以通过namedQuery轻松完成这项工作,而且我已经完成了。但他们是这个的一些潜在原因。提前谢谢。
答案 0 :(得分:3)
def reqdColName = "lastname"
def query = "select $reqdColName from users where id='active'"
直接选项是使用rows()方法。
def list= Sql.rows(query) //returns groovyrowresult as list
另一种选择是你可以使用executeQuery来获取查询的结果集,从而得到一个数组/列表。
def array = Sql.executeQuery(query).getArray(reqdColName)
//If you need as a list
def personList = Arrays.asList(array)
答案 1 :(得分:1)
我知道很久以前就已经问过这个问题了,但我觉得答案可能对那里的人有所帮助。
def personlist = []
sql = Sql.newInstance(url, username, password, driver)
query = "select $reqdColName from users where id='active'"
sql.eachRow(query)
{
row-> personlist << row.toString()
}
sql.close()
personlist.each{println it} // you can also return the list
答案 2 :(得分:0)
def lastnames = sql.rows("select lastname from users where id='active'")*.lastname