2013/09/15 11:26:03 这种时间怎么插入数据库呢?我的是sql server ,如果是tostring("yyyy/MM/dd HH:mm:ss") 这样的方式也不行。
-asp.net
数据库有时间类型.你需要的是在输出时指定输出格式 .tostring("yyyy/MM/dd HH:mm:ss")
不行啊。这样插入不了数据库的,我的是SQL
tostring是可以,我看了表,那个id不存在。不好意思
@谢六狼: 看来你没明白我在说什么....
@吴瑞祥: 呃,那具体是什么样的?你跟我说说呗,我新人。那截图是我是在调试拿出的数据,然户写的更新语句,但是我在拿调试出的插入语句直接在数据库运行,报从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值这个错
@谢六狼: 存在数据库中的是时间类型.不是字符串.你在从数据库把时间取出来时可以将这个时间输出为任意的字符串格式.
@吴瑞祥:代码如下
@谢六狼: 你数据库字段类型是什么?
@吴瑞祥: datetime格式
@谢六狼: 既然是datetime格式.插入按什么格式都没关系的.他到最后都只是一个datetime.
@吴瑞祥: 但报错是:从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值,这是何解?
@谢六狼: 这是你拼接字符串的错.用参数化查询.直接把datatime类型对象丢进去就好
@吴瑞祥: 我是在数据库直接插入的。插入的时间格式是这样的‘2013/09/15 11:26:03’
@谢六狼: 你那不是.net的代码吗.怎么又数据库直接插入了?执行sql语句的话.日期字符串确实是要符合格式的.
PS:这里是日期字符串不是日期值.
@吴瑞祥: 我的是代码啊,但是我调试之后,运行到那的代码进行的操作数据库语句我提取出来了,然后放到数据库上面执行。但是就一样的时间格式,一样的时间值,我使用update更新语句却能更新成功,但是插入语句就不行了。
@谢六狼: 你的目的是在.net里操作数据库
还是要用数据库管理器里执行sql语句来操作数据库?
肯定是前者吧.在.net里操作数据库就可以用参数化参数化查询来弄.就没这个问题了.
@吴瑞祥: 找到原因了。这数据库的数据有问题。里面的数据不是真实数据,有个日期值是‘0003/09/15 11:26:03’这种的。。
这要看你是什么数据库 oracle to_date('2013/09/15 11:26:03','yyyy/mm/dd hh24:mi:ss')
把他当做字符串存为nvarchar。不过最好还是存为datetime类型,在输入时候进行转换格式为.tostring("yyyy/MM/dd HH:mm:ss")