开发数据访问层DAL - MiniFramework蝇量框架 - Winform框架
开发数据访问层DAL - MiniFramework蝇量框架 - Winform框架
一、dalBase类
dalBase类,数据访问层基类,定义一组通用的方法或函数,为派生类提供更多的接口支持。
MiniFramework蝇量框架的 dalBase,默认定义了两个数据库连接:
系统数据库
C# 全选
/// <summary>
/// 系统数据库
/// </summary>
protected IDatabase _DatabaseSystem = null;
账套数据库
C# 全选
/// <summary>
/// 当前账套数据库
/// </summary>
protected IDatabase _Database = null;
dalBase 所有成员变量、方法和函数
序号 | 方法、函数名称 | 说明 |
1 | BeginTransaction | 启动事务 |
2 | CommitTransaction | 提交事务 |
3 | RollbackTransaction | 回滚事务 |
4 | CreateSqlGenerator | 根据表名创建SQL命令生成器对象实例 |
5 | GetDataSN | 获取当前记录的流水号码、单据号码 |
6 | GeneratorFactory | 默认SQL命令生成器的对象工厂 |
7 | GetDatabase | 根据数据库编号创建数据库对象实例 |
二、用户自定义DAL
用户自定义数据访问层,必须继承 dalBase 基类。
dalOrder 派车管理
C# 全选
/// <summary>
/// TMS系统物流派单数据访问层
/// </summary>
public partial class dalOrder : dalBase
{
IDatabase db_gSales = DatabaseProvider.GetDatabase(DBIDs.gSales);
/// <summary>
/// 获取司机资料
/// </summary>
/// <returns></returns>
internal DataTable GetDrivers()
{
//表:LogisticsTruck
var sql = $"select drivername as 驾驶员,driverphone as 手机号码,remark as 短号,licenseplatenumber as 车牌号,LoadWeight as 吨位,companyname as 定位设备号,iscompany as 是否能用 from LogisticsTruck where status = '1' and (trademark = '{Loginer.Current.DataSetName}' or isnull(trademark,'') = '{Loginer.Current.DataSetName + Loginer.Current.DataSetProperties}') order by drivername ";
return db_gSales.GetTable(sql, "LogisticsTruck");
}
/// <summary>
/// 获取物流编组
/// </summary>
/// <param name="SONO"></param>
/// <returns></returns>
internal string GetGroupNo(string SONO)
{
var sql = $"SELECT TOP 1 LogisticGroup from LogisticsInfo where sheetno = @sheetno";
var cmd = db_gSales.CreateCommand(sql);
cmd.AddParam("@sheetno", SONO);
return db_gSales.ExecuteScalar(cmd.Command).ToStringEx();
}
}
自定义连接其他数据库
C# 全选
IDatabase db_gSales = DatabaseProvider.GetDatabase(DBIDs.gSales);
三、DatabaseProvider类详解
https://www.cscode.net/archive/newdoc/254800607502341.html
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
MiniFramework C/S框架网