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 |