2016-12-12 2 views
1

Я пытаюсь создать поток collect на моем наборе строк SQL в groovy-скрипте, однако выход представляет собой пустой массив. Вызов печати в закрытии работает.Как собрать sql строки в Groovy

Любые идеи о том, как я могу обрабатывать все строки, не потребляя их в первом закрытии и не ссылаясь на переменные вне сферы видимости?

import groovy.sql.Sql 

def sql = Sql.newInstance("jdbc:mysql://localhost", "login", "password", "com.mysql.jdbc.Driver") 

// Display databases 
println "Databases: " 
println sql.eachRow("SHOW databases") {row -> "${row[0]}"}.collect() 

Любая помощь очень ценится, спасибо!

ответ

1

Посмотрите на docs. Ни один из методов eachRow не возвращает коллекцию.

Может попробовать:

println sql.rows("SHOW databases").collect { row -> "${row[0]}" } 
+1

Да, это работает - спасибо! –

Смежные вопросы