myStmt.executeUpdate 使用 Jython 的问题

Issue on myStmt.executeUpdate using Jython

我想按我查找的内容插入一行并将其拆分。我喜欢

import os 
import fnmatch 
import java.sql as sql 
import java.lang as lang 
import time  
listingDir ='<%=odiRef.getOption("SOURCE_DIR")%>' 
dbConn = odiRef.getJDBCConnection("SRC") 
myStmt = dbConn.createStatement() 
tgFile=open(listingDir+os.sep+"FilePrecessed.txt", 'w') 
file=os.listdir(listingDir) 
for x in file:   
  if fnmatch.fnmatch(x,"FAP*.*"):     
    if '2' in x:      
      sourceFileNameParts = x.split('_')                
      dateVar =  sourceFileNameParts[1]   
      print dateVar
      myStmt.executeUpdate( "INSERT INTO CONTINENTS VALUES ( NULL,NULL,dateVar)" )

即使此列在我的 table 声明中具有 String 类型,我也会出错。我在 myStmt.executeUpdate 之前做了 str(dateVar) 以确保 dateVar 是一个字符串,但错误仍然存​​在。

当我 运行 这段代码时,我在 myStmt.executeUpdate( "INSERT INTO CONTINENTS VALUES ( NULL,NULL,dateVar)" ) 上出错,它不接受 dateVar,为什么 !!

注意 :例如,当我使用 myStmt.executeUpdate( "INSERT INTO CONTINENTS VALUES ( NULL,NULL,'toto')" ) 时,它对我有效

请问我该如何解决这个问题!

做这样的事情

myStmt.executeUpdate( "INSERT INTO CONTINENTS VALUES ( NULL,NULL," + dateVar + ")" )