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




解决方案:
1. 检查表结构的日期时间类型,默认值。
[不是null] 若是打勾的,必须把默认设置为“CURRENT_TIMESTAMP”。
[不是null] 不打勾的,必须把默认设置为空值,或者是NULL。
!!!! 绝对不允许'0000-00-00 00:00:00'值,否则.NET无法解析。

另外注意:
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
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
//连接字符串删除: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#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配
升级程序DataTable.ReadXml报错:MySql.Data.Types.MySqlDateTime is not allowed here
代码生成器生成ORM报错:不能在 colLength 列中存储 。所需类型是 Int32。
C#.NET Winform轻量级UI框架软件快速开发平台(MySQL, Oracle, MsSQL)
ASP.NET编译网站报错:未能加载类型.Global.asax,把CodeBehind改为CodeFile即可
WebApi,ASP.NET 发布Web应用报错:未能获得项目引用“”的依赖项
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
.NETCore使用EF保存图片报错:OracleExceptiol: ORA|01460:转换请求无法实施或不合理|C/S开发框架
CSFramework.EF数据库框架测试MySqlBulkLoader批量插入功能报错(解决方案)
VS2022+.NET6:MySql时间戳(timestamp)类型对应EF Core类型注意事项
FastReport.NET报错 System.PlatformNotSupportedException:“Operation is not supported on this platform.”
.NET5 Core 关于LINQ查询使用DateDiff解决方案|C/S开发框架
[人才房产]青岛房产网 2008 (C#.net+Sql server)-源码下载
[论坛社区]塞普森论坛交流系统2007源代码 (.Net 1.1)-源码下载
[电子商务]塞普森电子商务系统2007源代码 (.Net 1.1)_cpushecsopen-源码下载
MySQL数据库-角色分配权限报错:MenuCaption不属于表tb_MyMenu
C#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配
升级程序DataTable.ReadXml报错:MySql.Data.Types.MySqlDateTime is not allowed here
代码生成器生成ORM报错:不能在 colLength 列中存储 。所需类型是 Int32。
C#.NET Winform轻量级UI框架软件快速开发平台(MySQL, Oracle, MsSQL)
ASP.NET编译网站报错:未能加载类型.Global.asax,把CodeBehind改为CodeFile即可
WebApi,ASP.NET 发布Web应用报错:未能获得项目引用“”的依赖项
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
.NETCore使用EF保存图片报错:OracleExceptiol: ORA|01460:转换请求无法实施或不合理|C/S开发框架
CSFramework.EF数据库框架测试MySqlBulkLoader批量插入功能报错(解决方案)
VS2022+.NET6:MySql时间戳(timestamp)类型对应EF Core类型注意事项
FastReport.NET报错 System.PlatformNotSupportedException:“Operation is not supported on this platform.”
.NET5 Core 关于LINQ查询使用DateDiff解决方案|C/S开发框架
[人才房产]青岛房产网 2008 (C#.net+Sql server)-源码下载
[论坛社区]塞普森论坛交流系统2007源代码 (.Net 1.1)-源码下载
[电子商务]塞普森电子商务系统2007源代码 (.Net 1.1)_cpushecsopen-源码下载
MySQL数据库-角色分配权限报错:MenuCaption不属于表tb_MyMenu
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
