Нет подписи метода: groovy.sql.Sql.callWithAllRows () применим для типов аргументов - PullRequest
0 голосов
/ 13 сентября 2018

Я вызываю хранимую процедуру sql через метод groovy groovy.sql.Sql.callWithAllRows, который не требует параметров и возвращает только resultSet.Но при выдаче следующего метода с пустым вложением происходит сбой для «Нет подписи метода: groovy.sql.Sql.callWithAllRows () применим для типов аргументов». Я предполагаю, что вы можете сделать callWithAllRows без отправки параметров, это правильно, так какхранимая процедура не требует их?

Вот вызов, который терпит неудачу:

    List<List<GroovyRowResult>> results = sql.callWithAllRows("{call 
    myStoredProcedure()}",[],{});
    results.each { result ->
        result.each { row ->
            row.each {                   
                println(it.FormalName.toString())
            }
        }
    }

Моя хранимая процедура

 CREATE PROCEDURE myStoredProcedure 
 AS
 BEGIN
   SELECT TOP 10 Title + ' ' + FirstName + ' ' + LastName AS FormalName 
   FROM Person.Contact
 END

1 Ответ

0 голосов
/ 13 сентября 2018

Правильный синтаксис:

def rowsList = sql.callWithAllRows '{call myStoredProcedure()}',[],{
    result ->
}

Вот ссылка: http://docs.groovy -lang.org / latest / html / gapi / groovy / sql / Sql.html # callWithAllRows (java.lang.String,% 20List% 3CObject% 3E,% 20groovy .lang.Closure)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...