|
/*
NetBase .NET database
Copyright (C) 2009 buttonpusher
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Common;
using NetBase.Storage;
namespace NetBase.Api
{
public class DbfDataReader : DbDataReader
{
internal ITable UnderlyingTable { get; set; }
private Row CurrentRow { get; set; }
internal DbfDataReader(Storage.ITable tbl)
{
this.UnderlyingTable = tbl;
}
public override void Close()
{
throw new NotImplementedException();
}
public override int Depth
{
get { throw new NotImplementedException(); }
}
public override int FieldCount
{
get { return UnderlyingTable.Columns.Count; }
}
public override bool GetBoolean(int ordinal)
{
throw new NotImplementedException();
}
public override byte GetByte(int ordinal)
{
throw new NotImplementedException();
}
public override long GetBytes(int ordinal, long dataOffset, byte[] buffer, int bufferOffset, int length)
{
throw new NotImplementedException();
}
public override char GetChar(int ordinal)
{
throw new NotImplementedException();
}
public override long GetChars(int ordinal, long dataOffset, char[] buffer, int bufferOffset, int length)
{
throw new NotImplementedException();
}
public override string GetDataTypeName(int ordinal)
{
throw new NotImplementedException();
}
public override DateTime GetDateTime(int ordinal)
{
throw new NotImplementedException();
}
public override decimal GetDecimal(int ordinal)
{
throw new NotImplementedException();
}
public override double GetDouble(int ordinal)
{
throw new NotImplementedException();
}
public override System.Collections.IEnumerator GetEnumerator()
{
return (System.Collections.IEnumerator)this;
}
public override Type GetFieldType(int ordinal)
{
// Always string
return typeof(string);
}
public override float GetFloat(int ordinal)
{
throw new NotImplementedException();
}
public override Guid GetGuid(int ordinal)
{
throw new NotImplementedException();
}
public override short GetInt16(int ordinal)
{
throw new NotImplementedException();
}
public override int GetInt32(int ordinal)
{
throw new NotImplementedException();
}
public override long GetInt64(int ordinal)
{
throw new NotImplementedException();
}
public override string GetName(int ordinal)
{
return UnderlyingTable.Columns[ordinal].Name;
}
public override int GetOrdinal(string name)
{
return UnderlyingTable.Columns.FindIndex(o => o.Name == name);
}
public override System.Data.DataTable GetSchemaTable()
{
throw new NotImplementedException();
}
public override string GetString(int ordinal)
{
return (string)this.CurrentRow[ordinal];
}
public override object GetValue(int ordinal)
{
return (string)this.CurrentRow[ordinal];
}
public override int GetValues(object[] values)
{
throw new NotImplementedException();
}
public override bool HasRows
{
get { return this.UnderlyingTable.HasRows; }
}
public override bool IsClosed
{
get { return false; }
}
public override bool IsDBNull(int ordinal)
{
throw new NotImplementedException();
}
public override bool NextResult()
{
if (!this.UnderlyingTable.HasRows)
{
return false;
}
this.CurrentRow = this.UnderlyingTable.NextRow();
return true;
}
public override bool Read()
{
throw new NotImplementedException();
}
public override int RecordsAffected
{
get { throw new NotImplementedException(); }
}
public override object this[string name]
{
get { throw new NotImplementedException(); }
}
public override object this[int ordinal]
{
get { return this.CurrentRow[ordinal]; }
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.