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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#region
 
using System;
using System.Data;
using System.Text;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.Core.CodeGenerator;
using CSFrameworkV5.Interfaces;
using CSFrameworkV5.Models;
 
#endregion
 
/*===================================================================
 *   程序说明: Language的数据访问层源码
 *   作者资料: 孙中吕
 *   创建日期: 2020-10-22 06:18:19
 *   最后修改: 2020-10-22 06:18:19
 *
 *   注: 本文件由代码生成器(Code Generator)自动生成。
 *   (此源码文件请放置在 YourProject.DataAccess 模块)
 *   版权所有 Copyright 2006~2020, C/S框架网(www.cscode.net)
 *===================================================================*/
 
namespace CSFrameworkV5.DataAccess
{
    /// <summary>
    ///     DAL数据层:dalLanguage
    /// </summary>
    [DefaultORM_UpdateMode(typeof(sys_Language), true)]
    public class dalLanguage : dalBaseDataDict, IBridge_Language
    {
        /// <summary>
        ///     构造器
        /// </summary>
        /// <param name="loginer">当前登录用户</param>
        public dalLanguage(Loginer loginer) : base(loginer)
        {
            _KeyName = sys_Language.__KeyName; //主键字段
            _TableName = sys_Language.__TableName; //表名
            _ModelType = typeof(sys_Language); //指定ORM模型
            _UpdateSummaryKeyMode = UpdateKeyMode.None;
            _ReplaceString = false;
 
            //加一行代码:
            _Database = DatabaseProvider.SystemDatabase;
        }
 
        public DataTable GetLanguageData()
        {
            var sql = "SELECT * FROM sys_Language;";
            return DatabaseProvider.SystemDatabase.GetTable(sql);
        }
 
        public DataTable GetLanguageTypeData()
        {
            var sql = "SELECT * FROM sys_LanguageType;";
            return DatabaseProvider.SystemDatabase.GetTable(sql);
        }
 
        public bool PostLanguage(string LAN, string objectID,
            string defaultValue, string itemType)
        {
            var sp =
                DatabaseProvider.SystemDatabase.CreateSqlProc(
                    "usp_InitLanguage");
            sp.AddParam("LanType", DbType.String, 50, LAN);
            sp.AddParam("ObjectID", DbType.String, 500, objectID);
            sp.AddParam("LanData", DbType.String, 500, defaultValue);
            sp.AddParam("ItemType", DbType.String, 20, itemType);
            var i = DatabaseProvider.SystemDatabase.ExecuteCommand(sp.Command);
            return i > 0;
        }
 
        public DataTable Query(string ObjectID, string CHS, string CHT,
            string ENG, string DataType)
        {
            var cmd = _Database.CreateCommand("");
 
            var sb = new StringBuilder();
            sb.Append("SELECT * FROM sys_Language WHERE 1=1 ");
 
            if (!string.IsNullOrEmpty(ObjectID))
            {
                sb.Append(
                    $" AND ObjectID LIKE {_Database.ParamSymboName}ObjectID ");
                cmd.AddParam("ObjectID", $"%{ObjectID}%");
            }
 
            if (!string.IsNullOrEmpty(CHS))
            {
                sb.Append($" AND CHS LIKE {_Database.ParamSymboName}CHS ");
                cmd.AddParam("CHS", $"%{CHS}%");
            }
 
            if (!string.IsNullOrEmpty(CHT))
            {
                sb.Append($" AND CHT LIKE {_Database.ParamSymboName}CHT ");
                cmd.AddParam("CHT", $"%{CHT}%");
            }
 
            if (!string.IsNullOrEmpty(ENG))
            {
                sb.Append($" AND ENG LIKE {_Database.ParamSymboName}ENG ");
                cmd.AddParam("ENG", $"%{ENG}%");
            }
 
            if (!string.IsNullOrEmpty(DataType))
            {
                sb.Append(
                    $" AND ItemType = {_Database.ParamSymboName}ItemType ");
                cmd.AddParam("ItemType", DataType);
            }
 
            sb.Append(" ORDER BY " + sys_Language.__KeyName);
 
            cmd.Command.CommandText =
                CodeSafeHelper.GetSafeSQL(sb.ToStringEx());
            return _Database.GetTable(cmd.Command, sys_Language.__TableName);
        }
 
        /// <summary>
        ///     根据表名获取该表的SQL命令生成器
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <returns></returns>
        protected override IGenerateSqlCommand CreateSqlGenerator(
            DataTable table)
        {
            Type ORM = null;
            if (table.TableName == sys_Language.__TableName)
                ORM = typeof(sys_Language); //指定表与ORM模型的对应关系
 
            if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型!");
 
            return new GenerateSqlCmdByTableFields(ORM, table,
                GeneratorFactory);
        }
    } //public class
} //namespace