首页 > 数据库 >SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间

SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间

时间:2023-11-10 11:01:33浏览次数:42  
标签:00 12 59 Parameters cmd item AddWithValue Console

由于数据库中DateTime类型字段,最小值是1/1/1753 12:00:00,而.NET Framework中,DateTime类型,最小值是1/1/0001 0:00:00,显然,超出了sql的值的最小值范围,导致数据溢出错误

using System.Data.SqlTypes;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(".net最小时间为{0}",DateTime.MinValue.ToString());
            Console.WriteLine(".net最大时间为{0}",DateTime.MaxValue.ToString());
            Console.WriteLine("SQL最小时间为{0}",SqlDateTime.MinValue.ToString());
            Console.WriteLine("SQL最大时间为{0}",SqlDateTime.MaxValue.ToSqlString());
            Console.ReadKey();
        }
    }
}
try
                {
                    using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand())
                    {
                        cmd.Connection = sqlConn;
                        cmd.CommandType = CommandType.Text;
                        cmd.CommandText = "insert into tCollectionLog (iID_tControlNodes, cNodeName, cValue, cQuality, iType, cReturnInfo, dOPC)values(@iID_tControlNodes, @cNodeName, @cValue, @cQuality, @iType, @cReturnInfo, @dOPC)";
                        cmd.Parameters.AddWithValue("@iID_tControlNodes", iID_tControlNodes);
                        cmd.Parameters.AddWithValue("@cNodeName", item.ItemName);
                        cmd.Parameters.AddWithValue("@cValue", item.Value == null ? DBNull.Value : item.Value);//没有值时出错;参数化查询 '(@iID_tControlNodes nvarchar(36),@cNodeName nvarchar(13),@cValue' 需要参数 '@cValue',但未提供该参数。
                        cmd.Parameters.AddWithValue("@cQuality", string.Format("{0}", item.Quality));
                        cmd.Parameters.AddWithValue("@iType", type == OPCDataType.CURRENTTAG ? 1:2);
                        cmd.Parameters.AddWithValue("@cReturnInfo", item.ResultID.ToString());
                        cmd.Parameters.AddWithValue("@dOPC", item.Quality == Quality.Bad ? DBNull.Value : (object)item.Timestamp);
                        cmd.ExecuteNonQuery();
                    }
                }
                catch(Exception ex)
                {
                    IoriUtilityLib.Iori.LogUtil.logError(string.Format("InsertOPCReadLog:{0}" , ex.Message));
                }

 

 

标签:00,12,59,Parameters,cmd,item,AddWithValue,Console
From: https://www.cnblogs.com/ioriwellings/p/17823592.html

相关文章

  • DBMS_STATS ORA-20011 Approximate NDV failed ORA-29913 error in executing ODCIEXT
    DBMS_STATSORA-20011ApproximateNDVfailedORA-29913errorinexecutingODCIEXTTABLEOPENcallout目录DBMS_STATSORA-20011ApproximateNDVfailedORA-29913errorinexecutingODCIEXTTABLEOPENcallout1、现象2、分析3、解决1.查看表信息2.确认属于DataPump的表3.删......
  • P1072 [NOIP2009 提高组] Hankson 的趣味题
    /*"爆int,爆int,你就会爆int了是吧"还是挺难的一道题具体思路就是通过求出b1的所有约数,然后看看其中有几个满足gcd(a0,x)==a1&&lcm(b0,x)==b1的数x通过上一题其实可以求出来,在int范围内一个数的约数数量最多只有1600个lcm可以通过a......
  • python升级到3.12版本, 开发模式安装包, 在vscode下Pylance无法解析的问题处理
    问题描述在python3.11版本下开发python库,为方便调测,使用开发模式安装包.使用如下命令:pipinstall-e.其中-e参数表示开发模式下安装python包,它并没有把包相关文件拷贝到site-packages目录,而是创建一个链接指向当前的开发库.这样,当自己开发的包修改后会立即生效,......
  • [题解] P5901 [IOI2009] Regions
    P5901[IOI2009]Regions给你一棵树,每个点有颜色\(h_i\)。多次询问,每次询问有多少对\((u,v)\)满足\(u\)是\(v\)的祖先且\(u\)的颜色是\(r_1\)且\(v\)的颜色是\(r_2\)。\(n,q\le2\times10^5,h_i\le2.5\times10^4\)。总颜色数一定,考虑对颜色的出现次......
  • Educational Codeforces Round 126 (Rated for Div. 2)
    https://codeforces.com/contest/1661/B题数据很小,直接bfs预处理就行C题随便猜了一下,设mx=\(max\{a_i\}\)最后的值应该是mx,mx+1,mx+2,mx+3之类的吧D题刚开始从前面考虑,陷入僵局,一度非常的困,学习凯库勒睡了一会,就突然想到了,前面不行,就从后面考虑,可以发现,从后面考虑的话,就非常......
  • 【python进阶】14大模块200页知识体系md笔记,第5篇:python下的linux命令使用
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。全套Python笔记直接地址:请移步这里共......
  • 【故障公告】数据库服务器今年第六次 CPU 100% 故障
    自9月第五次数据库服务器CPU100%故障之后,今天下午又出现数据库服务器CPU100%故障,是今年的第六次。自从园子2013年搬上阿里云,几乎每年都会遇到数据库服务器CPU100%问题,但今年创造了新记录,一年还未结束,却已遭遇六次,最困难的一年,连故障也过来凑热闹。今天的故障发生于14......
  • 电源集成模块 (PIM) 3 沟道,NXH240B120H3Q1SG和NXH240B120H3Q1PG 1200V IGBT
    NXH240B120H3Q1是一款3沟道1200VIGBT+SiC升压模块。每个沟道由一个快速开关80AIGBT、一个20ASiC二极管、一个旁通二极管和一个IGBT保护二极管组成。该模块具有内置的热敏电阻和压接引脚。IGBT模块:NXH240B120H3Q1SG、NXH240B120H3Q1PG(明佳达电子供求库存)产品描述......
  • 19.12 Boost Asio 获取远程进程
    远程进程遍历功能实现原理与远程目录传输完全一致,唯一的区别在于远程进程枚举中使用EnumProcess函数枚举当前系统下所有活动进程,枚举结束后函数返回一个PROCESSENTRY32类型的容器,其中的每一个成员都是一个进程信息,只需要对该容器进行动态遍历即可得到所有的远程主机列表。服务端......
  • 现在的安卓12或者是安卓13用的是什么虚拟机ART还是Dalvik?举个比喻
    Android5.0(Lollipop)及以后的版本使用的是ART(AndroidRuntime)虚拟机,而不是早期版本中使用的Dalvik虚拟机。从Android4.4(KitKat)开始,ART就作为一个实验性的特性出现,并在随后的版本中取代了Dalvik。 要用一个生活中的例子来比喻的话,我们可以把虚拟机想象成一家咖啡店的咖啡机。......