docs: public int searchRows(String[] words, boolean allWords,
                            boolean ignoreCase, boolean noMatchWhole) {
  
          // System.out.print("search in " + tableName + " for: ");
          //  for (int i=0; i < words.length; i++) {
          //      System.out.print(words[i]+", ");
          //  }
          // System.out.println("allWords = "+allWords+", ignoreCase = "+ignoreCase+", noMatchWhole= "+noMatchWhole);
          String where = this.generateWhere(words, allWords, ignoreCase,
                                            noMatchWhole);
          Vector    temp = new Vector(20);
          Statement stmt = null;
  
          try {
              stmt = cConn.createStatement();
  
              ResultSet rs = stmt.executeQuery("SELECT "
                                               + this.getPrimaryKeysString()
                                               + " FROM " + tableName + where);
  
              while (rs.next()) {
                  Object[] pkValues = new Object[primaryKeys.length];
  
                  for (int i = 0; i < primaryKeys.length; i++) {
                      pkValues[i] = rs.getObject(pkColIndex[i] + 1);
                  }    // end of for (int i=0; i<primaryKeys.length; i++)
  
                  temp.addElement(pkValues);
              }
  
              rs.close();
          } catch (SQLException e) {
              ZaurusEditor.printStatus("SQL Exception: " + e.getMessage());
  
              return -1;
          } finally {
              try {
                  if (stmt != null) {
                      stmt.close();
                  }
              } catch (SQLException e) {}
          }
  
          resultRowPKs   = new Object[temp.size()][primaryKeys.length];
          numberOfResult = temp.size();
  
          for (int i = 0; i < primaryKeys.length; i++) {
              for (int j = 0; j < temp.size(); j++) {
                  resultRowPKs[j][i] = ((Object[]) temp.elementAt(j))[i];
              }    // end of for (int j=0; j<temp.size(); j++)
          }        // end of for (int i=0; i<primaryKeys.length; i++)
  
          // prepare statement for fetching the result rows for later use
          String stmtString = "SELECT * FROM " + tableName;
  
          try {
              pStmt = cConn.prepareStatement(stmtString
                                             + this.generatePKWhere());
          } catch (SQLException e) {
              System.out.println("SQL Exception: " + e.getMessage());
          }    // end of try-catch
  
          // System.out.println("prepared statement: "+stmtString);
          if (numberOfResult > 0) {
              this.disablePKFields();
  
              aktRowNr = 0;
  
              this.showAktRow();
          }    // end of if (numberOfResult > 0)
  
          // System.out.println("number of rows: "+numberOfResult);
          return numberOfResult;
      }