Zum Inhalt

NavaidQueryHandler.ReadIlsCorrections

Eigenschaft Wert
Modul NavDb
Klasse NavaidQueryHandler
Typ Function
Sichtbarkeit Public
Datei NavDb/NavaidQueryHandler.vb

Beschreibung

Liest benutzerdefinierte ILS-Korrekturen fuer einen bestimmten Flughafen aus der Userdata.mdb-Datenbank. Die Abfrage erfolgt on-demand per parametrisiertem SQL (nicht vorgeladen). Falls die Userdata.mdb nicht verfuegbar ist oder keine Eintraege vorhanden sind, wird ein leeres Ergebnis zurueckgegeben -- es wird niemals eine Exception geworfen.

Signatur

Public Function ReadIlsCorrections(icaoCode As String) As IlsCorrectionResult

Parameter

Name Typ Beschreibung Standard
icaoCode String ICAO-Code des Flughafens, fuer den ILS-Korrekturen geladen werden sollen

Rückgabewert

Typ Beschreibung
IlsCorrectionResult Ergebnisobjekt mit schreibgeschuetzter Liste von IlsCorrectionRecords (ICAO, Runway, Frequenz, Kurs)

Ablaufdiagramm

flowchart TD
    A[Start] --> B[OleDbConnection oeffnen zur Userdata.mdb]
    B --> C["SQL: SELECT ICAO, RWY, FREQ, CRS FROM ILS WHERE ICAO = ?"]
    C --> D{Datensaetze vorhanden?}
    D -- Ja --> E[IlsCorrectionRecords erstellen und zur Liste hinzufuegen]
    E --> D
    D -- Nein --> F["Return IlsCorrectionResult(corrections.AsReadOnly)"]
    B -- Exception --> G["Log Warnung, Return leeres Ergebnis"]
    G --> F

Aufgerufen von

Modul Sub/Function Kontext
NavDb NavDbActor.Receive(Of ReadIlsCorrections) Beantwortet ILS-Korrektur-Abfragen vom Akka-Nachrichtensystem

Ruft auf

Modul Sub/Function Kontext
System.Data.OleDb OleDbConnection / OleDbCommand Datenbankverbindung und parametrisierte Abfrage auf Userdata.mdb
NavDb IlsCorrectionRecord (Konstruktor) Erstellt einzelne Korrektur-Datensaetze (ICAO, Runway, Freq, Course)

Beispiel

Dim handler As New NavaidQueryHandler("C:\NavData\ASTNAV.mdb", "C:\NavData\Userdata.mdb")

' ILS-Korrekturen fuer Frankfurt laden
Dim result As IlsCorrectionResult = handler.ReadIlsCorrections("EDDF")
For Each corr As IlsCorrectionRecord In result.Corrections
    Console.WriteLine($"RWY {corr.Runway}: Freq={corr.Frequency}, CRS={corr.Course:F1}")
Next

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation