using System.Data; namespace HotelPms.Share.Data; public abstract class TableAccessBase : IDisposable { /// /// 同期用 /// public static object SyncRoot { get; set; } = new object(); /// /// テーブル名 /// public string TableName { get; set; } = string.Empty; /// /// 追加SQL /// SourceFactoryより自動で生成可能 /// public string InsertSql { get; set; } = string.Empty; /// /// 更新SQL /// SourceFactoryより自動で生成可能 /// 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); /// 項目値を返す /// /// /// /// /// public object GetFieldValue(DataAccess access, string field, string where) { return access.ExecuteScalar(string.Format("Select {1} From {0} {2}", TableName, field, where)); } /// 複数項目値を返す /// /// /// /// Name1,Name2,Name3… /// public DataTable GetFields(DataAccess access, string fields, string where) { return access.GetDataTable(string.Format("Select {1} From {0} {2}", TableName, fields, where)); } /// 項目更新 /// /// /// /// /// 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() { } }