关于ADO的奇怪问题,请各位兄弟指点!各位大大请进来看看啊!

Jinniu 2008-10-07 04:09:26
一条Update语句在Oracle中执行UPDATE X SET XDATE='07/10/2008' WHERE ID=12345 AND XDATE=TO_DATE('31/12/2039','DD/MM/YYYY')
在PL\SQL上执行是要报错的。
但是我如果用ADO来执行的话UPDATE X SET XDATE='07/10/2008' WHERE ID=12345这条语句可以正常执行,XDATE的值为2008/10/07。
UPDATE X SET XDATE='07/10/2008' WHERE ID=12345 AND XDATE=TO_DATE('31/12/2039','DD/MM/YYYY')执行的结果是XDATE的值为0007/10/20,出现了莫名奇妙的改变。
各位老大谁知道这个是什么原因造成的吗?
除了要求用户在SET的时候使用TO_DATE以外,还有没有什么解决办法?
谢谢!
...全文
148 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
全是套路 2008-10-08
  • 打赏
  • 举报
回复
是系统设置问题吧,要不改下系统时间设置试下~
Jinniu 2008-10-08
  • 打赏
  • 举报
回复
现在的问题不是加不加TO_DATE。
加TO_DATE的办法我知道是可行的。
但是什么原因导致在后面的查询条件不同的时候会产生不同的查询结果喃?
怎样才能在不修改SET部分的情况下获取正确的插入值呢?
这个问题是数据库服务器系统时间设置,应用程序服务器时间设置还是ADO.NET某些内部变化造成的呢?

各位大哥看看啊!
hangang7403 2008-10-07
  • 打赏
  • 举报
回复
帮顶
yhy0611 2008-10-07
  • 打赏
  • 举报
回复
不知道....我一直是to_date()
lovehongyun 2008-10-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 cancerser 的回复:]
系统(或数据库)语言问题。
不TO_DATE还能怎么办
难到把 XDATE改成字符串类型?
[/Quote]

传参数
用oracleparameter,肯定没问题.

cancerser 2008-10-07
  • 打赏
  • 举报
回复
系统(或数据库)语言问题。
不TO_DATE还能怎么办
难到把 XDATE改成字符串类型?
justindreams 2008-10-07
  • 打赏
  • 举报
回复
控制输入格式呗。
Jinniu 2008-10-07
  • 打赏
  • 举报
回复
我本机的时间不是yyyy-mm-dd,估计是数据库的设置或者数据库服务器的设置!
但是也可能是ADO.NET中的变换的。
但是为什么加的选择条件不同结果会不同呢?
songyingjian2008 2008-10-07
  • 打赏
  • 举报
回复
学习,帮顶!
lovehongyun 2008-10-07
  • 打赏
  • 举报
回复
XDATE数据类型是date吗?

是的话要to_date()
jzywh 2008-10-07
  • 打赏
  • 举报
回复
干脆前面也加

UPDATE X SET XDATE=TO_DATE('07/10/2008','DD/MM/YYYY') WHERE ID=12345 AND XDATE=TO_DATE('31/12/2039','DD/MM/YYYY')
lovehongyun 2008-10-07
  • 打赏
  • 举报
回复
oracle对日期型字段操作就得用to_date()

或是你直接参数化多好,用oracleParameter

直接写的话就得to_date一下.
yangpeiyu 2008-10-07
  • 打赏
  • 举报
回复
要日期转成YY/MM/DD
cnming 2008-10-07
  • 打赏
  • 举报
回复
UPDATE X SET XDATE='07/10/2008' WHERE ID=12345 AND XDATE=TO_DATE('31/12/2039','DD/MM/YYYY')

改为

UPDATE X SET XDATE='2008-10-07' WHERE ID=12345 AND XDATE=TO_DATE('2039-21-31',YYYY-MM-DD')

试试看
warrior 2008-10-07
  • 打赏
  • 举报
回复
看起来是将日期字符串07/10/2008按照YY/MM/DD的格式来转换成日期值了。
diandian82 2008-10-07
  • 打赏
  • 举报
回复
跟你操作系统的语言环境设置有关吧

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧