예제 #1
0
        public DbfRecord(DbfTable dbfTable)
        {
            Values = new List <IDbfValue>();

            foreach (var dbfColumn in dbfTable.Columns)
            {
                var dbfValue = CreateDbfValue(dbfColumn, dbfTable.Memo, dbfTable.CurrentEncoding);
                Values.Add(dbfValue);
            }
        }
예제 #2
0
        public DbfRecord(DbfTable dbfTable, DbfDataReaderOptions options)
        {
            Values = new List <IDbfValue>();

            foreach (var dbfColumn in dbfTable.Columns)
            {
                var dbfValue = CreateDbfValue(dbfColumn, dbfTable.Memo, options);
                Values.Add(dbfValue);
            }
        }
예제 #3
0
 public override void Close()
 {
     try
     {
         DbfTable?.Close();
     }
     finally
     {
         DbfTable  = null;
         DbfRecord = null;
     }
 }
예제 #4
0
        public DbfRecord(DbfTable dbfTable)
        {
            _encoding     = dbfTable.CurrentEncoding;
            _recordLength = dbfTable.Header.RecordLength;
            _buffer       = new byte[_recordLength];

            Values = new List <IDbfValue>();

            foreach (var dbfColumn in dbfTable.Columns)
            {
                var dbfValue = CreateDbfValue(dbfColumn, dbfTable.Memo);
                Values.Add(dbfValue);
            }
        }
예제 #5
0
        public DbfRecord ReadRecord()
        {
            DbfRecord dbfRecord;
            bool      skip;

            do
            {
                dbfRecord = DbfTable.ReadRecord();
                if (dbfRecord == null)
                {
                    break;
                }

                skip = _options.SkipDeletedRecords && DbfRecord.IsDeleted;
            } while (skip);

            return(dbfRecord);
        }
예제 #6
0
        public override bool Read()
        {
            bool result;
            bool skip;

            do
            {
                result = DbfTable.Read(DbfRecord);
                if (!result)
                {
                    break;
                }

                skip = _options.SkipDeletedRecords && DbfRecord.IsDeleted;
            } while (skip);

            return(result);
        }
예제 #7
0
 public DbfRecord(DbfTable dbfTable) : this(dbfTable, new DbfDataReaderOptions())
 {
 }
예제 #8
0
 public DbfDataReader(string path)
 {
     DbfTable  = new DbfTable(path);
     DbfRecord = new DbfRecord(DbfTable);
 }
예제 #9
0
 public DbfRecord ReadRecord()
 {
     return(DbfTable.ReadRecord());
 }
예제 #10
0
 public DbfDataReader(string path, Encoding encoding)
 {
     DbfTable  = new DbfTable(path, encoding);
     DbfRecord = new DbfRecord(DbfTable);
 }
예제 #11
0
 public override bool Read()
 {
     return(DbfTable.Read(DbfRecord));
 }
예제 #12
0
 public DbfDataReader(Stream stream, Stream memoStream, DbfDataReaderOptions options)
 {
     _options  = options;
     DbfTable  = new DbfTable(stream, memoStream, options.Encoding);
     DbfRecord = new DbfRecord(DbfTable);
 }
예제 #13
0
 public DbfDataReader(string path, DbfDataReaderOptions options)
 {
     _options  = options;
     DbfTable  = new DbfTable(path, options.Encoding);
     DbfRecord = new DbfRecord(DbfTable);
 }
예제 #14
0
 public DbfDataReader(string path)
 {
     DbfTable  = new DbfTable(path);
     DbfRecord = new DbfRecord(DbfTable, new DbfDataReaderOptions());
 }
예제 #15
0
 public DbfDataReader(string path, Encoding encoding, DbfDataReaderOptions options)
 {
     DbfTable  = new DbfTable(path, encoding);
     DbfRecord = new DbfRecord(DbfTable, options);
 }