0
錯誤信息的一個實例:Groovy的INSERT語句無法推斷的SQL類型用於org.codehaus.groovy.runtime.GStringImpl
URI
/racetrack/readUserRole/index
Class
org.postgresql.util.PSQLException
Message
Can't infer the SQL type to use for an instance of org.codehaus.groovy.runtime.GStringImpl. Use setObject() with an explicit Types value to specify the type to use
代碼:
a="col01"
b="col${usercol}"
c="col${rolecol}"
sql.eachRow("select $a,$b,$c from read_csv where col01=? and col${usercol}!=? ", [file.name,""]) {
t="${it."$a"}"
i="${it."$b"}"
r="${it."$c"}"
t.getClass() == String
i.getClass()== String
r.getClass()== String
def list2=[t,i,r]
println list2
sql.execute('insert into read_user_role(version,roledata,textname,userdata)'+
'VALUES (0,?,?,?)', list2)
}
發生問題在插入語句作爲錯誤消息,所以我想如何解決這個SQL類型的問題?
你能顯式轉換?例如'list2 = [t,i,r] *。toString()'? – cfrick 2015-01-21 09:41:56
也你的選擇有可能容易受到一個SQL注入 – cfrick 2015-01-21 09:43:06
好吧會嘗試謝謝 – 2015-01-21 09:45:46