2016-04-11 20 views
0

Paramteres ile hazırlanmış bir sql deyimi kullanarak Groovy executeInsert kullanarak bir insert çalıştırmaya çalışıyorum. Sütunlardan biri bir datetime sütundur ve şimdi (MySql) 'i aramak istiyorum. Ancak uyumsuz türler için bir hata alıyorum, varsayım çünkü şimdi bir ip gibi davranıyor. Bir ifade kullanarak nasıl arayabilirim?Groovy sql dizesi üzerinden SQL() 'i şimdi nasıl çağırırım?

String sql = """ 
INSERT INTO table 
VALUES (:id, :datetime) 
""" 

sql.executeInsert(sql, [id: 0, datetime:"now()"]) 
+0

'dateTime: new Date()' veya şimdi koydu() şimdi hepsi de varsa –

+0

Bu nasıl derlenir? Bir dize sql ve sonra sql.executeInsert (...) 'çalıştırın? Ayrıca, INSERT –

+0

bir yazım hatası var Sadece bir tahmin, kodun bir bölümünü kabatasarım. –

cevap

0

zaten Groovy geçerli zamanı hesaplayarak datetime vermek ya da iki farklı sql Dizeleri, kodlanmış parametre ile diğer, içinde now() ayarladığınız ile birini kullanın Ya. Db işlevini now() parametresini, yalnızca gerçek değerler olmak üzere hazırlanmış bir ifadeye parametre olarak verebileceğinizi düşünmüyorum.