2016-12-12 8 views
1

Groovyスクリプト内のSQL行セットにストリームcollectを作成しようとしていますが、出力は空の配列です。閉鎖内でのプリントの呼び出しは機能します。GroovyでSQL行を収集する方法

最初の終了時に範囲外の変数を参照しなくても、すべての行をどのように処理できるかについてのアイデアはありますか?

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

をはい、それは動作します - あなたに感謝! –

関連する問題