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





一、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。

扫一扫加作者微信


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网