C#Datetime到ODBC日期时间转换错误

 岁月掌心_447 发布于 2023-02-09 08:16

我们正在尝试将ODBC与SQL Server 2012一起用于我们的新应用程序,因为MS正逐步淘汰OleDb,我们希望尝试将其移植到其他数据库变得容易(更容易?).

问题是,当我尝试使用ODBC数据访问类时,我在尝试保存日期时遇到以下错误:

错误[22008] [Microsoft] [SQL Server Native Client 11.0]日期时间字段溢出.小数秒精度超出参数绑定中指定的小数.

好吧,我得到那种.C#具有比ODBC参数想要使用的更高级别的精度.我知道ODBC实现不喜欢几分之一秒,但是保留日期时间精度的工作是什么?

谢谢,

Dinsdale

编辑:好的,这是原始参数构造函数:

String Name = "created";
DateTime DateTimeValue = DateTime.Now;
OdbcCommand cmd = new OdbcCommand();
cmd.CommandType = request.CommandType;
cmd.CommandText = request.Command;
OdbcParameter param;
param = new OdbcParameter(Name, OdbcType.DateTime);
param.Value = DateTimeValue;
cmd.Parameters.Add(param);

此代码生成以下错误:错误[22008] [Microsoft] [SQL Server Native Client 11.0]日期时间字段溢出.小数秒精度超出参数绑定中指定的小数.

修复是使用扩展构造函数,如下所示:

param = new OdbcParameter(Name, OdbcType.DateTime, 23, System.Data.ParameterDirection.Input, false, 0, 3, Name, DataRowVersion.Current, DateTimeValue);

再次感谢Kumod!Dinsdale

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有