/*********************************************************************/ /// <summary> /// Ließt alle Einträge der Tabelle aus und gibt diese zurück /// !!Zurzeit TestDATA!!! /// </summary> /// <returns>Liste mit allen Tabelleneinträgen</returns> public CTableEntryList getAllEntries() { CTableEntryList entryList = new CTableEntryList(); #region Engin Test /*// Fake Daten um die GUI provisorisch zu testen // * // BEGIN // * //Attributetypen erstellen * //CAttributeType attribute1 = new CAttributeType("erstesAttribute", E_DATATYPE.E_STRING, false); * //CAttributeType attribute2 = new CAttributeType("2tes Attribute", E_DATATYPE.E_FLOAT, true); * * CAttributeType attribute1 = new CAttributeType(CTableConstants.ATTR_X + "1"); * CAttributeType attribute2 = new CAttributeType(CTableConstants.ATTR_X + "2"); * attribute1.setUsed("erstesAttribute", E_DATATYPE.E_STRING, false); * attribute2.setUsed("2tes Attribute", E_DATATYPE.E_FLOAT, true); * * //AttributeValues erstellen * * CAttributeValue value1 = new CAttributeValue(attribute1, "index", "value"); * CAttributeValue value2 = new CAttributeValue(attribute2, "index2", "1.2"); * * //Entry erstellen * * CTableEntry entry1 = new CTableEntry("1"); * entry1.addValue(value1); * entry1.addValue(value2); * * CTableEntry entry2 = new CTableEntry("2"); * entry2.addValue(value1); * entry2.addValue(value2); * * * //EntryList erstellen * * entryList.Add(entry1); * entryList.Add(entry2); * * return entryList; * //**ENDE**/ #endregion string sSQLCommand = "SELECT * FROM " + CTableConstants.TABLE_ATTRIBUTES; SQLiteDataReader reader; if (mConnection.sqlRequestStatement(sSQLCommand, out reader) == true) { CTableEntry tableEntry; while (getNextTableEntry(reader, out tableEntry) == true) { entryList.Add(tableEntry); } closeReader(reader); } return(entryList); }
/*********************************************************************/ /// <summary> /// gibt ein Liste mit Datensätzen zurück die von dem übergebenen /// Knoten repräsentiert werden. /// </summary> /// <param name="vertexToIdentify">Knoten der Identifiziert werden /// soll</param> /// <returns>Liste mit Datensätzen des Knotens</returns> public CTableEntryList getFilteredTableData(CTreeVertex vertexToIdentify) { if (vertexToIdentify == null) { return(null); } // sollte der Knoten kein Parent-Knoten haben (Root-Knoten) geben // wir alle Einträge zurück if (vertexToIdentify.ParentVertex == null) { return(getAllEntries()); } string sSqlCommand = "SELECT * FROM " + CTableConstants.TABLE_ATTRIBUTES + " WHERE "; // Den SQL-Befehl um die Filter erweitert. Dabei wird vom zu übergebenen Knoten while (vertexToIdentify.ParentVertex != null) { CTreeVertex parent = vertexToIdentify.ParentVertex; CTreeEdge parentEdge = vertexToIdentify.ParentEdge; sSqlCommand += parent.AttributeType.InternalName; sSqlCommand += "="; sSqlCommand += "'" + parentEdge.EdgeValue + "'"; // den Nächsten Knotne auswählen vertexToIdentify = parent; if (vertexToIdentify.ParentVertex != null) { sSqlCommand += " AND "; } } SQLiteDataReader reader; CTableEntryList entryList = new CTableEntryList(); if (mConnection.sqlRequestStatement(sSqlCommand, out reader) == true) { CTableEntry tableEntry; while (getNextTableEntry(reader, out tableEntry) == true) { entryList.Add(tableEntry); } closeReader(reader); } return(entryList); }