public void dataRefresh(int row,boolean fireStatusEvent){
  log.info("Row=" + row);
  if (row < 0 || m_sort.size() == 0 || m_inserting)   return;
  MSort sort=(MSort)m_sort.get(row);
  Object[] rowData=getDataAtRow(row);
  dataIgnore();
  String where=getWhereClause(rowData);
  if (where == null || where.length() == 0)   where="1=2";
  String sql=m_SQL_Select + " WHERE " + where;
  sort=(MSort)m_sort.get(row);
  Object[] rowDataDB=null;
  PreparedStatement pstmt=null;
  ResultSet rs=null;
  try {
    pstmt=DB.prepareStatement(sql,null);
    rs=pstmt.executeQuery();
    if (rs.next())     rowDataDB=readData(rs);
  }
 catch (  SQLException e) {
    log.log(Level.SEVERE,sql,e);
    fireTableRowsUpdated(row,row);
    fireDataStatusEEvent("RefreshError",sql,true);
    return;
  }
 finally {
    DB.close(rs,pstmt);
    rs=null;
    pstmt=null;
  }
  setDataAtRow(row,rowDataDB);
  m_rowData=null;
  m_changed=false;
  m_rowChanged=-1;
  m_inserting=false;
  fireTableRowsUpdated(row,row);
  if (fireStatusEvent)   fireDataStatusIEvent(DATA_REFRESH_MESSAGE,"");
}

public void dataRefresh ( int row , boolean fireStatusEvent ) { log . info ( "Row=" + row ) ; if ( row < 0 || m_sort . size ( ) == 0 || m_inserting ) return ; MSort sort = ( MSort ) m_sort . get ( row ) ; Object [ ] rowData = getDataAtRow ( row ) ; dataIgnore ( ) ; String where = getWhereClause ( rowData ) ; if ( where == null || where . length ( ) == 0 ) where = "1=2" ; String sql = m_SQL_Select + " WHERE " + where ; sort = ( MSort ) m_sort . get ( row ) ; Object [ ] rowDataDB = null ; PreparedStatement pstmt = null ; ResultSet rs = null ; try { pstmt = DB . prepareStatement ( sql , null ) ; rs = pstmt . executeQuery ( ) ; if ( rs . next ( ) ) rowDataDB = readData ( rs ) ; } catch ( SQLException e ) { log . log ( Level . SEVERE , sql , e ) ; fireTableRowsUpdated ( row , row ) ; fireDataStatusEEvent ( "RefreshError" , sql , true ) ; return ; } finally { DB . close ( rs , pstmt ) ; rs = null ; pstmt = null ; } setDataAtRow ( row , rowDataDB ) ; m_rowData = null ; m_changed = false ; m_rowChanged = - 1 ; m_inserting = false ; fireTableRowsUpdated ( row , row ) ; if ( fireStatusEvent ) fireDataStatusIEvent ( DATA_REFRESH_MESSAGE , "" ) ; }
refresh row - ignore changes
