docs: public int dataToField(Field fieldInfo) throws DBException
      {
          BaseField field = (BaseField)fieldInfo;
          if (!field.isSelected())
          {   // Not selected, don't move data
              return field.initField(DBConstants.DONT_DISPLAY);
          }
          // Get the fields in the recordset
          int iColumn = m_iColumn;    // By default
          ResultSet resultSet = (ResultSet)this.getResultSet();
          if (m_bSelectAllFields)
          {   // Special case SELECT * (must find this field in the output column)
              if (m_rgiFieldColumns == null)
              {
                  Record record = this.getRecord();
                  int iFieldCount = record.getFieldCount();
                  m_rgiFieldColumns = new int[iFieldCount+1];
                  for (int i = 1; i <= iFieldCount; i++)
                      m_rgiFieldColumns[i] = -1;
                  m_iColumn = 1;  // First column in array
              }
              iColumn = m_rgiFieldColumns[m_iColumn];
              if (iColumn == -1)
              {
                  boolean bIsQueryRecord = false;     //this.getRecord().isQueryRecord(); // For some some reason, can't pass filefile.fieldname
                  String strFieldName = field.getFieldName(true, bIsQueryRecord);
                  try {
                      iColumn = resultSet.findColumn(strFieldName);
                  } catch (Exception e)    {
                      Utility.getLogger().warning( e.getMessage() + "JDBC Table/dataToField Field = [" + field.getFieldName(false, true) + "]");
                      throw this.getDatabase().convertError(e);
                  }
                  if (iColumn == 0)
                  {   // Could not find field name in query, look through my fields
                      Record record = this.getRecord();
                      int iFieldCount = record.getFieldCount();
                      for (int i = 0; i < iFieldCount; i++)
                      {
                          if (record.getField(i).isSelected())
                              iColumn++;  // SQL columns start at 1
                          if (field == record.getField(i))
                              break;
                      }
                  }
                  m_rgiFieldColumns[m_iColumn] = iColumn;
              }
          }
          try   {
              field.moveSQLToField(resultSet, iColumn);
          } catch (SQLException e)    {
              if ("No data found".equalsIgnoreCase(e.getMessage()))
                  if (this.getRecord().isQueryRecord())
              { // With query records, I probably looked up the first occurance of the same field name - find the next
                  try { // HACK - with the current JDBC, I can't retrieve the field by table.field, so If there is a dup, I just get the first and second.
                      ResultSetMetaData md = resultSet.getMetaData();
                      boolean bFirstFound = false;
                      int iColumnCount = md.getColumnCount();
                      String strFieldName = field.getFieldName(true, false);
                      for (iColumn = 1; iColumn <= iColumnCount; iColumn++)
                      {
                          String strColumnName = md.getColumnName(iColumn);
                          if (strFieldName.equals(strColumnName))
                          {
                              if (bFirstFound)
                              {
                                  m_rgiFieldColumns[m_iColumn] = iColumn;
                                  field.moveSQLToField(resultSet, iColumn);
                                  break;
                              }
                              bFirstFound = true;
                          }
                      }
                  } catch (SQLException ex) {
                      Utility.getLogger().warning( ex.getMessage() + "JDBC Table/255 Field = [" + field.getFieldName() + "]");
                      throw this.getDatabase().convertError(ex);
                  }
              }
              else
              {
                  Utility.getLogger().warning(e.getMessage() + "JdbcTable/261 Field = [" + field.getFieldName() + "]");
                  throw this.getDatabase().convertError(e);
              }
          }
          m_iColumn++;    // Next column.
          return DBConstants.NORMAL_RETURN;
      }