C#.NET 查询MYSQL报错:值类型与列类型不匹配不能在列中存储<0001-01-01 00:00:00>。所需类型是MySqlDateTime


  C#.NET 查询MYSQL报错:值类型与列类型不匹配不能在列中存储<0001-01-01 00:00:00="">。所需类型是MySqlDateTime
C#.NET 查询MYSQL报错:值类型与列类型不匹配不能在列中存储<0001-01-01 00:00:00>。所需类型是MySqlDateTime


C#.NET 查询MYSQL报错:值类型与列类型不匹配不能在列中存储<0001-01-01 00:00:00>。
所需类型是MySqlDateTime


贴图图片-MySQL日期1



解决方案:


1. 检查表结构的日期时间类型,默认值。

[不是null] 若是打勾的,必须把默认设置为“CURRENT_TIMESTAMP”。
[不是null] 不打勾的,必须把默认设置为空值,或者是NULL。


!!!!  绝对不允许'0000-00-00 00:00:00'值,否则.NET无法解析。



贴图图片-MySQL日期



另外注意:

1. 若是datetime类型的字段,不要勾选【根据时间戳更新】,否则,您修改任一字段的值,此字段的值会同步更新为当前时间。


2. TimeStamp类型的字段,必须勾选【根据时间戳更新】,默认值为:CURRENT_TIMESTAMP。




可以用下面的语句查询默认值为'0000-00-00 00:00:00'的表


SQL Code:

SELECT * FROM information_schema.`COLUMNS` where 1=1
and TABLE_SCHEMA in ('cs5_normal','cs5_system')
and column_default='0000-00-00 00:00:00'
and column_type in ('datetime')
order by table_name

//来源:C/S框架网 | www.csframework.com | QQ:23404761





2. MySQL的连接字符串加上以下属性:

Convert Zero Datetime=True;


删除此属性!!! --> Allow Zero Datetime=True;




C# Code:

//解决方案:
//连接字符串删除:Allow Zero Datetime=True; 加上:Convert Zero Datetime=True;
string conn = "Server={0};Port={1};Database={2};User ID={3};Password={4};Connection TimeOut={5};Charset=utf8;Pooling=true;Min Pool Size=0;Max Pool Size=500;Connection Lifetime=0;Convert Zero Datetime=True;";
conn 
= string.Format(conn, "120.79.85.97""3306""cs5_system""root""lucky2021."30);
IDatabase db 
= DatabaseFactory.CreateMySqlDatabase(conn);

var DT = db.GetTable("SELECT * FROM tb_MyUserRoles LIMIT 10;");
var row = DT.Rows.Add();
row[
"CreateTime"= DateTime.Now;
DT.AcceptChanges();

MessageBox.Show(row[
"CreateTime"].ToString());


//来源:C/S框架网 | www.csframework.com | QQ:23404761







C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:怎样对软件项目进行逻辑分层分割模块(类库)?
下一篇:CSFramework开发框架V5基础架构 - VS解决方案DevExpress 15.x 升级 17.x
评论列表

发表评论

评论内容
昵称:
关联文章

C#.NET 查询MYSQL类型类型匹配不能存储<0001-01-01 00:00:00>。类型MySqlDateTime
C#.NET给DataTable日期类型赋值类型 MySqlDateTime类型类型匹配
代码生成器生成ORM不能 colLength 存储 <18,2>。类型 Int32。
WCF服务错误:System.TimeoutException: 请求通道等待 00:01:00 以后答复时超时
C#.Net类型和引用类型区别
升级程序DataTable.ReadXmlMySql.Data.Types.MySqlDateTime is not allowed here
VS2022 .NET7:为访问服务。Site能为null。
ASP.NET编译网站:未能加载类型.Global.asax,把CodeBehind改为CodeFile即可
MySQL数据库-角色分配权限:MenuCaption属于表tb_MyMenu
MySql数据类型(MySqlDbType).NET类型(Type)对应关系
C#.NetSQLServer时间范围的最小最大
EF:从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的
C# object类型,c# object
DevExpress DateEdit组件空日期,传入SQL参数解决方法
文本框输入,离开焦点保存还原来的
npm run dev 运行:'webpack-dev-server' 内部或外部命令,也可运行的程序。
VS2010出现无法嵌入互操作类型
C/S开发框架DAL层提交数据"外键为空!"解决方案。
C# 更新SQL数据发生错误:不能创建大小为 8133 的行,该大小大于允许的最大行大小 8060。
CSFramework开发框架:违反并发性:UpdateCommand影响了预期1条记录的0条

热门标签
.NET5 .NET6 .NET7 APP Auth-软件授权注册系统 Axios B/S B/S开发框架 Bug Bug记录 C#加密解密 C#源码 C/S CHATGPT CMS系统 CodeGenerator CSFramework.DB CSFramework.EF CSFrameworkV1学习版 CSFrameworkV2标准版 CSFrameworkV3高级版 CSFrameworkV4企业版 CSFrameworkV5旗舰版 CSFrameworkV6.0 DAL数据访问层 Database datalock DbFramework Demo教学 Demo下载 DevExpress教程 DOM EF框架 Element-UI EntityFramework ERP ES6 Excel FastReport GIT HR IDatabase IIS JavaScript LINQ MES MiniFramework MIS NavBarControl Node.JS NPM OMS ORM PaaS POS Promise API Redis SAP SEO SQL SQLConnector TMS系统 Token令牌 VS2022 VSCode VUE WCF WebApi WebApi NETCore WebApi框架 WEB开发框架 Windows服务 Winform 开发框架 Winform 开发平台 WinFramework Workflow工作流 Workflow流程引擎 版本区别 报表 踩坑日记 操作手册 代码生成器 迭代开发记录 基础资料窗体 架构设计 角色权限 开发sce 开发技巧 开发教程 开发框架 开发平台 开发指南 客户案例 快速搭站系统 快速开发平台 秘钥 密钥 权限设计 软件报价 软件测试报告 软件简介 软件开发框架 软件开发平台 软件开发文档 软件体系架构 软件下载 软著证书 三层架构 设计模式 生成代码 实用小技巧 收钱音箱 数据锁 数据同步 微信小程序 未解决问题 文档下载 喜鹊ERP 喜鹊软件 系统对接 详细设计说明书 行政区域数据库 需求分析 疑难杂症 蝇量级框架 蝇量框架 用户管理 用户开发手册 用户控件 在线支付 纸箱ERP 智能语音收款机 自定义窗体 自定义组件 自动升级程序