===== newQuery() ===== Seit der Einführung der neuen Datenbank SQLite als Speicher für Cockpit-XP ist es deutlich einfacher geworden, Daten aus den Datenbanken zu holen und damit zu arbeiten. Es gibt nur noch zwei Datenbanken. ''**cpv2stamm**'' für die Stammdaten wie z.B. Fahrer, Fahrzeuge und ''**cpv2statistik**'', die die Renndaten enthält. Dieser Befehl ist definiert, um auf die Stammdaten zuzugreifen. Es ist nicht möglich, damit an die Statistikdaten zu gelangen. ==== Syntax ==== ^ Befehl | newQuery() | ^ Funktion| Stellt eine Verbindung zur Stammdatenbank von Cockpit-XP her | ^ Typ | TZQuery | ==== Codebeispiel 1 ===== var sFahrerName : String; fahrerNation : String; message : String; begin fahrerNation := 'Taka-Tuka Land'; message := 'Rennfahrer aus ' + fahrerNation + ':' + Chr(10) + Chr(13); with newQuery do begin // Objekt erst mal initialisieren sql.Clear; // SQL-Abfrage formulieren sql.Text := 'SELECT * FROM DriverItems WHERE Nation=:Land ORDER BY Driver'; ParamByName('Land').AsString := fahrerNation; // Abfrage ausführen Open; // Fokus auf den ersten Datensatz setzen First; // alle gefundenen Datensätze durchlaufen while not EOF do begin // Fahrer auslesen und Meldungstext ergänzen sFahrerName := FieldByName('Driver').AsString; message := message + Chr(10) + Chr(13) + sFahrerName; // Den nächsten Datensatz holen Next; end; // Resourcen wieder freigeben Free; end; // Alle gefundenen Fahrer in Meldung anzeigen cpShowMessage(message); end. \\ Dieser Code sucht in der Fahrer-Tabelle der Datenbank nach allen Fahrern, die unter der Nationalflagge von ''**Taka-Tuka Land**'' teilnehmen und gibt diese als Meldungstext aus.\\ {{ :cockpit-xp:addon:befehlsreferenz:addon-new-query.png?nolink |}} Der Code ist mit Kommentaren versehen, die beim Verständnis helfen sollen.\\ Tatsächlich liegt die Schwierigkeit eher darin, die Daten in den beiden Datenbanken und Ihren Tabellen zu lokalisieren und irgendwie zusammen zu bringen.\\ \\ ==== Informationsmaterial ==== Es gibt online die Seite von [[http://www.w3schools.com/sql/default.asp|W3Schools]], die ein gutes Tutorial zur SQL-Abfragesprache anbieten, allerdings in englischer Sprache. \\ Die Liste der Befehle ist in der Hilfe-Spalte im AddOn-Editor zu sehen, wenn man den TZQuery-Zweig aufklappt. Um ausführlichere Informationen zu den Befehlen zu bekommen, muss man Online recherchieren. \\ So ist das Schlüsselwort ''**sql**'' z.B. über den Befehl ''**NewQuery()**'' automatisch initialisiert. Es muss nicht separat als Variable deklariert werden. Eine weitere Erleichterung ist die Verwendung von ''** with ... do **''. Sonst müsste vor jedes ''**sql**'' noch das Objekt notiert werden, also ''**newQuery.sql....**''. \\ \\ ---- [[cockpit-xp:start|Start]] - [[cockpit-xp:faq|FAQ]] - [[cockpit-xp:glossar|Glossar]] - [[cockpit-xp:sitemap|Sitemap]] - [[cockpit-xp:impressum|Impressum]]