C/S框架后台数据更新模型之ORM自动生成SQL基本原理
C/S框架后台数据更新模型之ORM自动生成SQL基本原理
基于ADO.NET提交数据需要程序员写代码,使用DataAdapter.Update()方法提交数据前要实现3个DbCommand,分别是InsertCommand、UpdateCommand、DeleteCommand。作者有5年Delphi开发经验,Delphi只需调用ADOQuery.Update()就行了,不需要写3个DbCommand以及任何SQL脚本(特殊处理除外)。 说说CSFramework.COM后台数据更新模型 NHibernate配置的XML文件对我有所启发,为什么要使用XML? 若把XML改装为C#的静态类或实体类是否更有效? 》》》 请看下面代码: public class TProduct { [TableAttribute (true, false, true)] public static string TableName = "tb_MyProduct"; [TableAttribute (false, true, false)] public static string KeyName = "ProductCode"; [FieldAttribute (SqlDbType.Int, 4, false, false, false, false, false)] public static string isid = "isid"; [FieldAttribute (SqlDbType.NVarChar, 20, false, true, false, false, false)] public static string ProductCode = "ProductCode"; [FieldAttribute (SqlDbType.NVarChar, 50, false, true, false, false, false)] public static string ProductName = "ProductName"; [FieldAttribute (SqlDbType.Decimal, 18, false, true, false, false, false)] public static string SellPrice = "SellPrice"; [FieldAttribute (SqlDbType.NVarChar, 50, false, true, false, false, false)] public static string Supplier = "Supplier"; [FieldAttribute (SqlDbType.NVarChar, 100, false, true, false, false, false)] public static string Remark = "Remark"; } 这个类有两个功能: 1.用于自动生成SQL语句 2.定义了 表结构字段名,在其它类引用字段名时可使用: //字段名 TProduct.ProductCode
string key = data.Tables[TProductTake.TableName].Rows[0][TProductTake.TakeNo].ToString (); 使用方法 假设我们定义了更新【盘点数据】的类,只需要实现GetTypeByTableName及Update方法 /// <summary> /// 业务逻辑管理主类. www.csframework.com 版权所有 /// </summary> public class DataManager : DataUpdate { public DataManager(OleDbConnection conn) : base(conn) { // } protected override Type GetTypeByTableName(string tableName) { if (tableName == TProductTake.TableName) & nbsp; return typeof (TProductTake); if (tableName == TProductTakeDetail.TableName) & nbsp; return typeof (TProductTakeDetail); throw new Exception("没绑定数据表结构 定义!"); } public bool Update(System.Data.DataSet currentBusiness, UpdateType updateType) { return base.Update (currentBusiness); } 在界面层调用 : private void TestSave() { //初始化业务逻辑 DataManager dataManager = new DataManager(DataProvider.Instance.CreateConnection()); DataSet data = null;//你要保存的数据 dataManager.Update(data); } 数据更新流程 扫一扫加微信 Source code for VIP:
参考文档:
C/S框架支持SQL2008数据库吗? 基于C#.NET C/S快速开发框架 - 代码自动生成功能 C#开发框架 ORM 及后台数据更新程序关键组成部分 C/S系统快速开发平台SQL命令生成器(数据自动更新模型) C/S框架网提供基于C#.NET前端Winform开发框架及后端WebApi开发框架 C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册|C/S框架网 Winform+SQL开发CS架构大型ERP系统源码|C/S框架网 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 Winform增删查改基础框架|C/S框架网 Winform程序扫码条码读取商品数据简单实现|C/S框架网 Winform查询数据对话窗体与选择资料窗体实现|C/S框架网 CSFramework代码生成器自动生成主从表界面-C/S框架网 ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本 生成的窗体Form源码集成到VS解决方案 - C/S框架三层架构代码生成器操作指南 C/S开发框架教程:使用基础资料(数据字典)的DAL层更新主从表(或多表)数据
其它资料:
什么是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内容管理系统 | |