55 lines
2.5 KiB
C#
55 lines
2.5 KiB
C#
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
|
|
{
|
|
//=======================================================================
|
|
/// <summary>
|
|
/// Database information - object supplied by main application.
|
|
/// <para>NB Application may deploy to databases with schema differences.</para>
|
|
/// <para>Each instance of a DbDataItem must be database specific, ie. must be able to distinguish the schema in use.</para>
|
|
/// </summary>
|
|
public interface IDatabaseInfo
|
|
{
|
|
String Context { get; }
|
|
bool TableExists(String schemaName, String tableName);
|
|
bool ColumnExists(String schemaName, String tableName, String columnName);
|
|
List<DbDfnColumn> 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);
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
|
|
//=======================================================================
|
|
}
|