protected DbValue[] ReadDataRow()
        {
            DbValue[] row   = new DbValue[_fields.Count];
            object    value = null;

            lock (_database.SyncObject)
            {
                // This only works if not (port->port_flags & PORT_symmetric)
                for (int i = 0; i < _fields.Count; i++)
                {
                    try
                    {
                        value  = _database.ReadValue(_fields[i]);
                        row[i] = new DbValue(this, _fields[i], value);
                    }
                    catch (IOException)
                    {
                        throw new IscException(IscCodes.isc_net_read_err);
                    }
                }
            }

            return(row);
        }