首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问关于向datetime插入数据的有关问题

2012-09-17 
请教关于向datetime插入数据的问题我用java在写一个从oracle表中取数插入ms server 2005数据库ms 表aid nv

请教关于向datetime插入数据的问题
我用java在写一个从oracle表中取数插入ms server 2005数据库
ms 表a
id nvarchar(32)
date datetime

insert into ztza values('" + rs_orcl.getString(1) + "','" + rs_orcl.getString(2) + "')

其中 rs_orcl.getString(2)可能为空
插入的时候就会报错
com.microsoft.sqlserver.jdbc.SQLServerException: 从字符串向 datetime 转换时失败

我改成这样
insert into ztza values('" + rs_orcl.getString(1) + "',convert(datetime,'" + rs_orcl.getString(2) +"',120))

还是报这个错误。

当我把表a的date字段类型改为 nvarchar(32) 后 
insert into ztza values('" + rs_orcl.getString(1) + "','" + rs_orcl.getString(2) + "')
这句就不会报错了

现在我想实现第一种情况 date字段类型为datetime,我改怎么处理?




[解决办法]
时间类型跟字符串类型不一样,你的应该是类型冲突问题
[解决办法]
你需要把时间字符串整理成sql server能识别的串才型.
例如:

2012-03-21
2012-03-21 16:41:01
...
[解决办法]

探讨
rs_orcl.getString(2)的值为2012-3-20 14:14:12

[解决办法]
探讨

我觉得很可能是rs_orcl.getString(2)可能为空的问题
因为如果不为空的话 我是可以正常插入的
但是我不知道怎么处理

热点排行