"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 客户端),希望...