using Sarand.Net.Standard.Base.Dbas; using System; using System.Collections.Generic; using System.Data.Common; using System.Text; namespace Sarand.Net.Standard.Base.Dbas { //======================================================================= /// /// Database information - object supplied by main application. /// NB Application may deploy to databases with schema differences. /// Each instance of a DbDataItem must be database specific, ie. must be able to distinguish the schema in use. /// public interface IDatabaseInfo { String Context { get; } bool TableExists(String schemaName, String tableName); bool ColumnExists(String schemaName, String tableName, String columnName); List GetColumnsForTable(String schemaName, String tableName); } //======================================================================= public interface IDbDataItem { //------------------------------------------------------------------- // Population. void PopulateFrom (DbCommand dbCommand, String tableAlias, String filter); void PopulateFrom (DbDataReader dbdataReader); //------------------------------------------------------------------- // Retrieve field values. String GetFieldString (DbDataReader dbDataReader, String name, String defaultValue); Boolean GetFieldBoolean (DbDataReader dbDataReader, String name, Boolean defaultValue); Int16 GetFieldInt16 (DbDataReader dbDataReader, String name, Int16 defaultValue); Byte GetFieldByte (DbDataReader dbDataReader, String name, Byte defaultValue); Int32 GetFieldInt32 (DbDataReader dbDataReader, String name, Int32 defaultValue); Int64 GetFieldInt64 (DbDataReader dbDataReader, String name, Int64 defaultValue); Single GetFieldSingle (DbDataReader dbDataReader, String name, Single defaultValue); Double GetFieldDouble (DbDataReader dbDataReader, String name, Double defaultValue); Decimal GetFieldDecimal (DbDataReader dbDataReader, String name, Decimal defaultValue); DateTime GetFieldDateTime (DbDataReader dbDataReader, String name, DateTime defaultValue); //------------------------------------------------------------------- // Database updates via ODBC Command. bool ExecuteInsertCommand (DbCommand dbCommand); bool ExecuteUpdateCommand (DbCommand dbCommand); //bool ExecuteDeleteCommand (DbCommand dbCommand); //------------------------------------------------------------------- } //======================================================================= }