1
yhj
2024-07-24 5e5d945e91568b973faa27d8ab0bcef99fc4a6c5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
///*************************************************************************/
///*
///* 文件名    :IGenerateDbCommand.cs    
///*
///* 程序说明  : SQL生成器接口
///* 原创作者  :孙中吕 
///* 
///* Copyright 2006-2021 C/S框架网 www.csframework.com
///*
///**************************************************************************/
 
using System.Collections;
using System.Data.Common;
 
namespace CSFrameworkV5.Core
{
    /// <summary>
    /// SQL命令生成器通用接口
    /// </summary>
    public interface IGenerateSqlCommand
    {
        /// <summary>
        /// 生成插入记录的SQL命令
        /// </summary>
        /// <param name="tran">事务</param>
        /// <returns></returns>
        DbCommand GetInsertCommand(DbTransaction tran);
 
        /// <summary>
        /// 生成更新记录的SQL命令
        /// </summary>
        /// <param name="tran"></param>
        /// <returns></returns>
        DbCommand GetUpdateCommand(DbTransaction tran);
 
        /// <summary>
        /// 生成删除记录的SQL命令
        /// </summary>
        /// <param name="tran"></param>
        /// <returns></returns>
        DbCommand GetDeleteCommand(DbTransaction tran);
 
        /// <summary>
        /// 生成插入记录用SQL语句
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="keyName">主键</param>
        /// <param name="field">字段列表</param>
        /// <returns></returns>
        string GenerateInsertSql(string tableName, string keyName, IList field);
 
        /// <summary>
        /// 生成更新记录用SQL语句
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="keyName">主键</param>
        /// <param name="field">字段列表</param>
        /// <returns></returns>
        string GenerateUpdateSql(string tableName, string keyName, IList field);
 
        /// <summary>
        /// 生成删除记录用SQL语句
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="keyName">主键</param>
        /// <param name="field">字段列表</param>
        /// <returns></returns>
        string GenerateDeleteSql(string tableName, string keyName);
 
        /// <summary>
        /// 单据号码
        /// </summary>
        /// <returns></returns>
        string GetDocNoFieldName();
 
        /// <summary>
        /// 主键
        /// </summary>
        /// <returns></returns>
        string GetPrimaryFieldName();
 
        /// <summary>
        /// 外键
        /// </summary>
        /// <returns></returns>
        string GetForeignFieldName();
 
        /// <summary>
        /// 是否主表
        /// </summary>
        /// <returns></returns>
        bool IsSummary();
    }
}