java中的sql语句为何会报错,而到了workbench就可以执行

rt
基本上是timestamp的格式,比如
insert into table values ('2015-03-17 00:00:00');
这句话在java通过jdbc执行就会报错,而直接在workbench下面操作就没有问题
为什么会这样?

可能是字符串单引号等引起的,打印代码中的字符串跟workbench中比较

insert into table(字段1,字段2....) value( 值1,值2, , ,) ; 或者不写字段,把所有字段的值都插入,例如有三个字段,insert into table value(?, ?,?)

首先你要把你JDBC执行的那条sql打印出来,看看能不能在db里面运行,如果可以,那么就应该没什么问题,如果不行,数据库的workbench一般都会有提示你是哪个地方有问题

还要问一句,就是你上面是mysql还是oracle,还有你的字段够不够长,有可能JDBC那里转了类型,然后输入到数据库里面不够长度,最好还是把错误信息详细弄出来

数据可以表的相应字段的数据类型,还有你在插入的时候字符串是不应该要转成sql的date类型呢?

还有一种方式,你换成那种占位的方式然后在设置值试一试!查处问题所在!