CSFramework通用自动提交数据工具类(DbDataUpdate),支持MsSQL,MySQL,Oracle三种数据库

  CSFramework通用自动提交数据工具类(DbDataUpdate),支持MsSQL,MySQL,Oracle三种数据库

CSFramework通用自动提交数据工具类(DbDataUpdate),支持MsSQL,MySQL,Oracle三种数据库


DbDataUpdate简介


DbDataUpdate是CSFramework.DB基于ADO.NET多数据库底层组件包的一个工具类,根据表结构的ORM实体模型自动提交数据(不需要编写任何SQL脚本),支持MsSQL,MySQL,Oracle三种数据库。


DbDataUpdate由两部分组成:


1. DbDataUpdate:通用自动提交数据工具类。

2. DbCommandGenerator: DbCommand命令生成器,根据对象模型(Type)自动生成三种DbCommand,支持MsSQL,MySQL,Oracle。



DbDataUpdate优势


1. 开发人员完全脱离ADO.NET底层组件接口使用。

2. 开发人员不需要编写任何Insert/Update/Delete SQL命令,轻松实现对数据的增、删、改。

3. 开发人员根据表结构搭建对象实体模型(ORM-对象关系映射),然后调用相关接口即可。

4. 每个方法都有详细注释。全部开源。



DbDataUpdate提供三种接口方法


提供下图中三种接口方法,支持操作对象实体、DataTable以及DataSet。

贴图图片-csframework-dataupdate2


源码位置:


贴图图片-csframework.db.dataupdate



DbDataUpdate测试案例:



针对每个接口做功能测试


贴图图片-csframework.db.dataupdate1



测试案例1:提交DataTable,批量修改提交多条记录


C# Code:

//
//测试案例:提交DataTable,批量修改提交多条记录
//
string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;";
IDatabase db
= DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn);

DbCommandGenerator gen
= new DbCommandGenerator(db);

var dt = db.GetTable("SELECT TOP 10 * FROM dbo.sys_RegisterLog");
dt.Rows[
0]["HID"] = "修改HID";//修改一条记录
dt.Rows[1].Delete();//删除一条记录

var row = dt.Rows.Add();//新增一条记录
row["LicenseID"] = "xxxx";
row[
"RegisterNo"] = "xxxx";
row[
"RegisterTime"] = DateTime.Now;
row[
"LogConent"] = "xxxx";
row[
"HID"] = "xxxx";

//根据Model提交数据
int i = new DbDataUpdate(db).Update(dt, typeof(sys_RegisterLog), new string[] { "isid" }, new string[] { "isid" });

MessageBox.Show($
"共更新记录数:{i}");

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



测试案例2:提交DataSet,批量修改提交多条记录


C# Code:

//
//测试案例:提交DataSet,批量修改提交多条记录
//
string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;";
IDatabase db
= DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn);

DbCommandGenerator gen
= new DbCommandGenerator(db);

var dt = db.GetTable("SELECT TOP 10 * FROM dbo.sys_RegisterLog ORDER BY isid ASC", "sys_RegisterLog");
dt.Rows[
0]["HID"] = "修改HID";//修改一条记录
dt.Rows[1].Delete();//删除一条记录

var row = dt.Rows.Add();//新增一条记录
row["LicenseID"] = "xxxx";
row[
"RegisterNo"] = "xxxx";
row[
"RegisterTime"] = DateTime.Now;
row[
"LogConent"] = "xxxx";
row[
"HID"] = "xxxx";

var dt1 = db.GetTable("SELECT TOP 10 * FROM dbo.sys_AdminUser ORDER BY isid DESC", "sys_AdminUser");
var row1 = dt1.Rows.Add();//新增一条记录
row1["AccountType"] = "AuthCenter";
row1[
"Account"] = "test11";
row1[
"AccountName"] = "test11";
row1[
"Password"] = "xxxx";
row1[
"FlagLock"] = "N";
row1[
"LastLoginTime"] = DateTime.Now;
row1[
"LoginCount"] = 1;

//重要!!! 构建ORM对象模型与表结构的关系
//sys_RegisterLog表模型关系
//sys_AdminUser表模型关系
List<DbDataUpdateORM> orms = new List<DbDataUpdateORM>();
orms.Add(
new DbDataUpdateORM(typeof(sys_RegisterLog), new string[] { "isid" }, new string[] { "isid" }));
orms.Add(
new DbDataUpdateORM(typeof(sys_AdminUser), new string[] { "Account" }, new string[] { "isid" }));

//组合DataSet, 一次性提交多张表
DataSet ds = new DataSet();
ds.Tables.Add(dt.Copy());
ds.Tables.Add(dt1.Copy());

//提交数据
int i = new DbDataUpdate(db).Update(ds, orms);
MessageBox.Show($
"共更新记录数:{i}");

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



测试案例3:新增一个对象,根据对象ORM自动存储到数据库


C# Code:

//
//测试案例:新增一个对象,根据对象ORM自动存储到数据库
//
string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;";
IDatabase db
= DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn);

sys_AdminUser user0
= new sys_AdminUser
{
  Account
= "xxxx",
  AccountName
= "test",
  AccountType
= "xx",
  Password
= "pwd"
  };
  
  
//新增一个对象
  
bool b = new DbDataUpdate(db).AddObject(user0, new string[] { "isid" });
  MessageBox.Show($
"更新{b}");
  
  
//来源:C/S框架网 | www.csframework.com | QQ:23404761



测试案例4:修改一个对象,根据对象ORM自动存储到数据库


C# Code:

//
//测试案例:修改对象,根据对象ORM自动存储到数据库
//
string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;";
IDatabase db
= DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn);

sys_RegisterLog log
= db.ExecuteReader<sys_RegisterLog>("SELECT * FROM dbo.sys_RegisterLog where isid=133");
log.HID
= "xxxxxxxxxxxxxxxxxxxx";
log.LicenseID
= "asdfasdfasf";
log.LogConent
= "asfdasdfasdfasdfasdf";
log.RegisterNo
= "xxxxxxxxxxxxxxxxx";
log.RegisterTime
= DateTime.Now;

//修改对象
bool ok = new DbDataUpdate(db).UpdateObject(log, new string[] { "isid" }, new string[] { "isid" });
MessageBox.Show($
"操作{ok}");

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



测试案例5:删除一个对象,根据对象ORM自动删除记录


C# Code:

//
//测试案例:删除一个对象,根据对象ORM自动自动删除记录
//

string conn = "Data Source=127.0.0.1;Initial Catalog=CSFramework_License;User ID=sa;Password =test;Persist Security Info=True;Connect Timeout=15;";
IDatabase db
= DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn);

sys_RegisterLog log
= new sys_RegisterLog();
log.isid
= 130;
log.HID
= "xxxxxxxxxxxxxxxxxxxx";
log.LicenseID
= "xxxx";
log.LogConent
= "asfdasdfasdfasdfasdf";
log.RegisterNo
= "xxxxxxxxxxxxxxxxx";
log.RegisterTime
= DateTime.Now;

//删除一个对象
bool ok = new DbDataUpdate(db).DeleteObject(log, new string[] { "isid", "LicenseID" });
MessageBox.Show($
"操作{ok}");

//来源: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数据库底层应用框架(MSSQL+Oracle+MySQL)


产品详情:http://www.csframework.com/cs-framework-database.htm


一、CSFramework.DB简介

  我们在开发软件过程中,特别是基于数据管理应用相关的系统,一般采用一种数据库,如Microsoft SQL Server,超大型系统有的使用Oracle,部分Web系统采用开源的MySQL等,由于各种业务场景以及用户需求,促使我们的数据库系统部署在不同类型的数据库服务器上。若开发的系统能支持多种数据库的快速切换,可以为我们减少很多烦恼,同时提高系统的适应性、兼容性以及可扩展性。




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

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

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

评论内容
昵称:
关联文章

CSFramework通用自动提交数据工具(DbDataUpdate),支持MsSQL,MySQL,Oracle数据库
CSFramework对象模型框架(DbDataUpdate),支持MsSQL,MySQL,Oracle数据库操作
DbFramework数据库实体对象模型框架( 支持MsSQL,MySQL,Oracle数据库
CSFramework.WebApi支持多种常用数据库(Mssql/MySQL/Oracle)
企业版V4.0 - 支持MSSQLMySQLOracle类型的数据库
MsSQL/MySQL/Oracle常用数据库数据类型(Data Type)对应关系表
CSFramework.DB基于ADO.NET多数据库底层组件包(MSSQL+Oracle+MySQL)
C# C/S架构软件自动升级程序Winform+多数据库(MySQL,MsSQL,Oracle)
CSFramework.DB多数据底层库(IDatabase/DbDataUpdate)接口测试报告
DbDataUpdate - 自动提交对象模型数据 - 常用数据类型测试
C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册|C/S框架网
CSFramework.DB多数据库支持组件DbDataUpdate.UpdateObject详解
C#.NET Winform轻量级UI框架软件快速开发平台(MySQL, Oracle, MsSQL)
CSFramework.DB多数据底层库 - 操作对象数据DbDataUpdate接口测试
CSFramework.DbDataUpdate数据模型框架 - 特殊数据类型测试报告
CSFramework代码生成器生成ORM模型(静态ORM,实体ORM,标准对象)
原创Winform快速开发框架平台Oracle版本(层架构+C#.NET+Oracle数据库
C# 使用设计模式构建通用数据库访问
Winform界面自适应快速开发框架(C#+Dev+层架构+多数据库支持
C# Winform项目多语言实现(支持简/繁/英语言)