@Override
    public List<DataRow> select(DataRow parameters) 
    {
         List<DataRow> wynik = new ArrayList<>();
                String stm;
                String tabelName = parameters.getTableName();
                List<DataCell> select = parameters.row;
                String kolumny = "";
                for (DataCell x : select)
                {
                    kolumny += x.name + " = " + x.value + " AND ";
                }
                kolumny = kolumny.substring(0, kolumny.length() - 5);
                stm = "SELECT * FROM " + tabelName + " WHERE " + kolumny;
                try
                {
                    ResultSet rs = stat.executeQuery(stm);
                    while(rs.next())
                    {
                            DataRow x = new DataRow();
                            x.setTableName(tabelName);
                            ResultSetMetaData meta = rs.getMetaData();

                            for(int i=0; i<meta.getColumnCount(); i++)
                            {
                                String attrname = meta.getColumnName(i);
                                String attrvalue = rs.getString(i);
                                x.addAttribute(attrname, attrvalue);
                                if(attrname.equals("name"))
                                {
                                    x.setName(attrvalue);                        
                                }
                            }
                        wynik.add(x);
                    }
                }
                catch (Exception ex)
                {
                    ErrorDialog errorDialog = new ErrorDialog(true, "Błąd operacji w lokalnej bazie danych: \n" +  ex.getMessage(), "LocalDatabaseConnectorSQLite", "select(DataRow parameters) ", "result");
                    errorDialog.setVisible(true);
                }
                
         return wynik;
    }