MySql 时间戳Timestamp字段类型的字段作为主键模拟用户并发操作
MySql 时间戳Timestamp字段类型的字段作为主键模拟用户并发操作
CSFramework.DB.DbDataUpdate测试
测试MySql:Timestamp字段类型的字段作为主键更新数据,模拟用户并发操作。

C# Code:
IDatabase db = DatabaseFactory.CreateMySqlDatabase(txtConn.Text);
//查询原数据
_testdataupdate o = db.ExecuteReader<_testdataupdate>("SELECT * FROM _testdataupdate WHERE isid=1;");
_testdataupdate m = new _testdataupdate();//用于修改资料的对象
//获取timestamp的值
DateTime ts = o._Timestamp;
ShowResult($"timestamp值:{ts}");
//CSFramework.DB组件
CSFramework.DB.DbDataUpdate update = new DbDataUpdate(db);
//测试步骤1:模拟其他用户修改记录
m.isid = 1; //isid作为主键更新记录
m._Ntext = "模拟其他用户修改记录-isid作为主键更新记录" + Guid.NewGuid().ToString();
bool ok1 = update.UpdateObject<_testdataupdate>(m, new string[] { "isid", }, new string[] { "isid", "_Timestamp" });
ShowResult($"修改对象结果:{ok1}");
//查询修改后Timestamp的值
_testdataupdate o1 = db.ExecuteReader<_testdataupdate>("SELECT * FROM _testdataupdate WHERE isid=1;");
ShowResult($"timestamp值(修改后):{o1._Timestamp}");
//测试步骤2:Timestamp类型的字段作为主键更新数据
m._Timestamp = o._Timestamp;
m._Ntext = "Timestamp类型的字段作为主键更新数据";
bool ok2 = update.UpdateObject<_testdataupdate>(m, new string[] { "_Timestamp", }, new string[] { "isid", "_Timestamp" });
if (ok2)
ShowResult($"修改对象结果:{ok2}");
else
ShowResult($"原记录已被修改(并发操作)!");
//来源:C/S框架网 | www.csframework.com | QQ:23404761
//查询原数据
_testdataupdate o = db.ExecuteReader<_testdataupdate>("SELECT * FROM _testdataupdate WHERE isid=1;");
_testdataupdate m = new _testdataupdate();//用于修改资料的对象
//获取timestamp的值
DateTime ts = o._Timestamp;
ShowResult($"timestamp值:{ts}");
//CSFramework.DB组件
CSFramework.DB.DbDataUpdate update = new DbDataUpdate(db);
//测试步骤1:模拟其他用户修改记录
m.isid = 1; //isid作为主键更新记录
m._Ntext = "模拟其他用户修改记录-isid作为主键更新记录" + Guid.NewGuid().ToString();
bool ok1 = update.UpdateObject<_testdataupdate>(m, new string[] { "isid", }, new string[] { "isid", "_Timestamp" });
ShowResult($"修改对象结果:{ok1}");
//查询修改后Timestamp的值
_testdataupdate o1 = db.ExecuteReader<_testdataupdate>("SELECT * FROM _testdataupdate WHERE isid=1;");
ShowResult($"timestamp值(修改后):{o1._Timestamp}");
//测试步骤2:Timestamp类型的字段作为主键更新数据
m._Timestamp = o._Timestamp;
m._Ntext = "Timestamp类型的字段作为主键更新数据";
bool ok2 = update.UpdateObject<_testdataupdate>(m, new string[] { "_Timestamp", }, new string[] { "isid", "_Timestamp" });
if (ok2)
ShowResult($"修改对象结果:{ok2}");
else
ShowResult($"原记录已被修改(并发操作)!");
//来源:C/S框架网 | www.csframework.com | QQ:23404761
CSFramework.DB数据库底层应用框架 v2.0
适用软件:基于C#.NET开发的C/S系统、WebApi后端、Winform桌面应用软件。
运行平台:Windows + .NET Framework 4.5
开发工具:Visual Studio 2015,C#语言
数据库支持:MsSQL+Oracle+MySQL
一、CSFramework.DB简介
我们在开发软件过程中,特别是基于数据管理应用相关的系统,一般采用一种数据库,如Microsoft SQL Server,超大型系统有的使用Oracle,部分Web系统采用开源的MySQL等,由于各种业务场景以及用户需求,促使我们的数据库系统部署在不同类型的数据库服务器上。若开发的系统能支持多种数据库的快速切换,可以为我们减少很多烦恼,同时提高系统的适应性、兼容性以及可扩展性。
产品特点1) 支持三种常用数据库操作(MsSQL、Oracle、MySQL);
2) 对象模型自动更新,支持Add、Update、Delete操作对象,并自动提交到数据库;
3) 源码有详细的接口注释;
4) 多个大型项目成功案例,运行稳定、安全可靠;
5) 产品开源,提供全部源码;
6) 源码工整,注释完整,有配套的《软件使用手册》;
7) 客户端引用CSFramework.DLL文件即可,接口使用简单;
8) 免费升级,提供免费技术咨询服务;
运行环境基于Windows操作系统运行,开发工具使用VS2015,VS2017或更高版本。
数据库支持MsSQL、Oracle、MySQL。

参考文档:
VS2022+.NET6:MySql时间戳(timestamp)类型对应EF Core类型注意事项
EF提交数据:DbUpdateException:不能更新时间戳列。(Timestamp类型)|C/S开发框架
C# 时间戳(Timestamp)与标准时间(DateTime)互转-C/S开发框架
CS开发框架之自增字段(Identity),时间戳(Timestamp)字段处理|C/S框架网
C# Datetime转Utc时间戳Timestamp
C#.NET 查询MYSQL报错:值类型与列类型不匹配不能在列中存储 。所需类型是MySqlDateTime
C#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配
MySQL数据类型(MySqlDbType)数据类型名称对应DbType类型
MySql数据类型(MySqlDbType)名称对应.NET类型(Type)
MySql数据类型(MySqlDbType)与.NET类型(Type)对应关系
MsSQL/MySQL/Oracle三种常用数据库数据类型(Data Type)对应关系表
C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册|C/S框架网
C#日期类型转换工具(时间戳,字符串,long,byte类型互转)
C#.NET DateTime时间格式转换为Unix时间戳格式(int类型)
CSFrameworkV6软件开发框架 | MySql数据库测试报告|C/S开发框架
CSFrameworkV6软件开发平台主流数据库测试报告(SqlServer/MySql/Oracle/达梦)|C/S开发框架
VS2022+.NET6:MySql时间戳(timestamp)类型对应EF Core类型注意事项
EF提交数据:DbUpdateException:不能更新时间戳列。(Timestamp类型)|C/S开发框架
C# 时间戳(Timestamp)与标准时间(DateTime)互转-C/S开发框架
CS开发框架之自增字段(Identity),时间戳(Timestamp)字段处理|C/S框架网
C# Datetime转Utc时间戳Timestamp
C#.NET 查询MYSQL报错:值类型与列类型不匹配不能在列中存储 。所需类型是MySqlDateTime
C#.NET给DataTable日期类型的列赋值报错:所需类型是 MySqlDateTime,值类型与列类型不匹配
MySQL数据类型(MySqlDbType)数据类型名称对应DbType类型
MySql数据类型(MySqlDbType)名称对应.NET类型(Type)
MySql数据类型(MySqlDbType)与.NET类型(Type)对应关系
MsSQL/MySQL/Oracle三种常用数据库数据类型(Data Type)对应关系表
C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册|C/S框架网
C#日期类型转换工具(时间戳,字符串,long,byte类型互转)
C#.NET DateTime时间格式转换为Unix时间戳格式(int类型)
CSFrameworkV6软件开发框架 | MySql数据库测试报告|C/S开发框架
CSFrameworkV6软件开发平台主流数据库测试报告(SqlServer/MySql/Oracle/达梦)|C/S开发框架
其它资料:
什么是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内容管理系统 |
在线客服
