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); }