1
SELECT PRODESCRIPTION.PDC_DESC,PRODESCRIPTION.PD_CODE 
FROM BILLDETL,BILLMAST,PRODESCRIPTION 
WHERE BILLDETL.BMC_SLNO=BILLMAST.BMC_SLNO 
  AND PRODESCRIPTION.PD_CODE=BILLDETL.PD_CODE 
  AND BILLMAST.PT_NO='" + hospitalNo + "' 
  AND BILLDETL.ORIGINAL_OUCODE='L002' 
  AND TO_DATE(BILLMAST.BMD_DATE,'DD/MM/YY')
     =TO_DATE('" + visitDate.ToShortDateString() + "','DD/MM/YY')"

上述查询在 oracle 中有效,但使用 asp.net oledb 连接连接到 oracle 时发生错误

4

2 回答 2

0

错误信息

ORA-01861: 文字与格式字符串不匹配

错误原因

您尝试输入带有格式字符串的文字,但格式字符串的长度与文字的长度不同。

此链接可能对您有所帮助

于 2013-07-22T05:53:28.490 回答
0

看起来您的 OLEDB 连接是从具有 locale 的机器完成的,该机器不返回您期望从 localedependent 获得的日期格式ToShortDateString()

尝试用visitDate.ToShortDateString()固定的 - 不依赖于语言环境的 - 日期格式替换,例如;

AND TRUNC(BILLMAST.BMD_DATE, 'DAY')
   =TO_DATE('" + visitDate.ToString("dd\\/MM\\/yy") + "','DD/MM/YY')"
于 2013-07-22T05:38:21.307 回答