JDBC查询澄清

时间:2014-04-18 04:53:05

标签: java jdbc sybase

我有一个针对Sybase Db的插入查询,它将一个varchar值和2个整数值插入到一个返回错误的表中。

The table column datatypes are Varchar,Int,Int

查询如下所示

sql_str = "INSERT INTO TempTable VALUES(" +
                      "'"+ 'Y' +"',"+ "DateDiff(ss,'12/31/1969 19:00:00','"+ secBegin +"')" +","+ "DateDiff(ss,'12/31/1969 19:00:00','"+ secEnd +"')" +")";

并使用2个字符串值,即secBegin和secEnd

String secBegin = "04/03/2012 10:08:24";
String secEnd = "04/03/2012 10:09:07";

我收到以下错误:

com.sybase.jdbc3.jdbc.SybSQLException: Insert error: column name or number of supplied values does not match table definition.

并指向上面显示为插入查询的错误行。

上面显示的jdbc查询中是否有任何错误。

1 个答案:

答案 0 :(得分:0)

嗨,你可以试试这个吗:

sql_str = "INSERT INTO TempTable VALUES("Y",DateDiff(ss,'12/31/1969 19:00:00','"+ secBegin +"'),DateDiff(ss,'12/31/1969 19:00:00','"+ secEnd +"'))";