"Input value not long enough for date format" 使用 TableAdapter 更新时
"Input value not long enough for date format" When updating with TableAdapter
我的查询由 DataAdapter
管理,所以我几乎无法控制它的 generation.The 问题查询是这样的:
UPDATE MYSCHEMA.MYTABLE
SET MYDATETIME = :myDateTime
WHERE (MYKEY = :myKey)
自动生成数据访问层。我无法更改它的工作方式...
数据库端MYDATETIME
的类型是Timestamp
。
DataAdapter
查询的参数 myDateTime
的类型和数据集中的字段是 DateTime
。
不确定这是否重要。此外,在 Oracle 方面,小时似乎是 24 小时,但应用程序管理的小时有 12 小时制。但为什么这很重要?在调用更新方法时,我传递 Date.Now
。怎么可能更合法?但它仍然被拒绝:
ORA-01840: Input value not long enough for date format
有什么想法吗?
根据评论聊天,似乎正在进行字符串转换,因为参数数据库类型设置为 varchar
将参数的 ProviderType 设置为与 Oracle 期望的类型更相关的内容 - 可以是 Date、DateTime、Timestamp、OracleDateTime 或此主题的一些变体(名称会根据您是否使用.net oracle 客户端或 oracle 客户端),希望...
我的查询由 DataAdapter
管理,所以我几乎无法控制它的 generation.The 问题查询是这样的:
UPDATE MYSCHEMA.MYTABLE
SET MYDATETIME = :myDateTime
WHERE (MYKEY = :myKey)
自动生成数据访问层。我无法更改它的工作方式...
数据库端MYDATETIME
的类型是Timestamp
。
DataAdapter
查询的参数 myDateTime
的类型和数据集中的字段是 DateTime
。
不确定这是否重要。此外,在 Oracle 方面,小时似乎是 24 小时,但应用程序管理的小时有 12 小时制。但为什么这很重要?在调用更新方法时,我传递 Date.Now
。怎么可能更合法?但它仍然被拒绝:
ORA-01840: Input value not long enough for date format
有什么想法吗?
根据评论聊天,似乎正在进行字符串转换,因为参数数据库类型设置为 varchar
将参数的 ProviderType 设置为与 Oracle 期望的类型更相关的内容 - 可以是 Date、DateTime、Timestamp、OracleDateTime 或此主题的一些变体(名称会根据您是否使用.net oracle 客户端或 oracle 客户端),希望...