Din*_*ale 5 c# sql sql-server datetime odbc
我们正在尝试将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);
Run Code Online (Sandbox Code Playgroud)
此代码生成以下错误:错误[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);
Run Code Online (Sandbox Code Playgroud)
再次感谢Kumod!Dinsdale
小智 0
我想出了如何解决我遇到的问题。本来想早点发帖的,但是没机会。我最终使用了 SQLDataAdapter 并解决了所有问题。由于某种原因,ODBCDataAdapter 不喜欢做我想做的事情。不管怎样,希望这最终能帮助别人
归档时间: |
|
查看次数: |
5235 次 |
最近记录: |