ホテル管理システム
ogi
yesterday 1a1c8e71fcd14858f595029f089b2d4a00202b32
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
using System.Data;
 
namespace HotelPms.Share.Data;
 
public abstract class TableAccessBase : IDisposable
{
    /// <summary>
    /// 同期用
    /// </summary>
    public static object SyncRoot { get; set; } = new object();
 
    /// <summary>
    /// テーブル名
    /// </summary>
    public string TableName { get; set; } = string.Empty;
 
    /// <summary>
    /// 追加SQL
    /// SourceFactoryより自動で生成可能
    /// </summary>
    public string InsertSql { get; set; } = string.Empty;
 
    /// <summary>
    /// 更新SQL
    /// SourceFactoryより自動で生成可能
    /// </summary>
    public string UpdateSql { get; set; } = string.Empty;
 
    public TableAccessBase(string tableName)
    {
        TableName = tableName;
    }
 
    public abstract System.Data.DataTable GetPopUpList(DataAccess access);
 
    public abstract System.Data.DataTable GetPopUpList(DataAccess access, object[] key);
 
    /// <summary> 項目値を返す
    /// </summary>
    /// <param name="msSqlNet"></param>
    /// <param name="pHotelCode"></param>
    /// <param name="field"></param>
    /// <returns></returns>
    public object GetFieldValue(DataAccess access, string field, string where)
    {
        return access.ExecuteScalar(string.Format("Select {1} From {0} {2}", TableName, field, where));
    }
 
    /// <summary> 複数項目値を返す
    /// </summary>
    /// <param name="msSqlNet"></param>
    /// <param name="pHotelCode"></param>
    /// <param name="fields">Name1,Name2,Name3…</param>
    /// <returns></returns>
    public DataTable GetFields(DataAccess access, string fields, string where)
    {
        return access.GetDataTable(string.Format("Select {1} From {0} {2}", TableName, fields, where));
    }
 
    /// <summary> 項目更新
    /// </summary>
    /// <param name="msSqlNet"></param>
    /// <param name="pHotelCode"></param>
    /// <param name="field"></param>
    /// <returns></returns>
    public bool SetFieldValue(DataAccess access, string field, string value, string where)
    {
        return access.ExecuteNonQuery(string.Format(" UPDATE {0} SET {1} = '{2}' {3}", TableName, field, value, where)) > 0;
    }
 
    public virtual void Dispose()
    {
 
    }
}