2012-03-14 4 views
0

Я пытаюсь протестировать SQL-запрос для groovy/grails. Переходя к тому, почему вставка SQL не работает, я пытаюсь распечатать эту строку запроса. Удивительно, даже не работа, поэтому я изучаю форматирование строк в groovy. Если у кого-то есть подсказка, пожалуйста, дайте мне знать.groovy string форматирование

println """INSERT INTO iu (version, path, uuid, name, description, 
          sourceversionfrom, sourceversionexto, 
          targetversionfrom, targetversionexto, 
          phase, directive, classname, methodname, 
          functionalarea_id, upgradepath_id, date_created, 
          last_updated, mark4delete, firstAvailable_id, 
          lastAvailable_id, uniqueid_id, elementcreateddate, 
          purpose, implementationdetails, userimpact) 
       VALUES (${this.version}, ${this.path}, ${this.uuid}, ${this.name}, 
         ${this.description}, ${this.sourceversionfrom}, 
         ${this.sourceversionexto}, ${this.targetversionfrom}, 
         ${this.targetversionexto}, ${this.phase}, ${this.directive}, 
         ${this.classname}, ${this.methodname}, $functionalarea_id, 
         $upgradepath_id, NOW(), NOW(), 0, ${this.projID}, 
         ${this.projID}, ${this.uniqueid_id}, 
         ${this.getElementCreatedDate()}, ${this.purpose}, 
         ${this.implementationDetails}, ${this.userImpact})""" 

программа останавливается и стоит на этой линии после

+0

Что вы подразумеваете под _ "программа останавливается и останавливается на _ _? Он падает? Он ничего не печатает и не висит? BTW: Код, который вы отправили, выглядит хорошо для меня ... –

ответ

1

Там нет ничего плохого с вашей строки запроса. Программа может зависать при извлечении одного из свойств (version, path, uuid и т. Д.) Через геттер или по вызову getElementCreatedDate.

Чтобы посмотреть, что делает ваша программа при ее зависании, вы можете создать дамп потока. Когда groovy запускается интерактивно в окне терминала или консоли, отправьте сигнал QUIT или введите ctrl- \ на Linux или OS X или введите ctrl-break на Windows. Найдите поток "main" и сканируйте трассировку стека, пока не достигнете своего собственного кода.

+0

Функция $ {this.getElementCreatedDate()} является источником проблем. Я выделил проблему, она создает указатель NULL, который заставляет программу стоять на месте ... – cybertextron

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