Direktes Auslesen aus der Datenbank ist nicht vorgesehen: ADO.NET arbeitet so, dass Verbindungen zu einer Datenbank immer nur
kurzfristig geöffnet werden, um Daten zu holen und zu speichern. Für die Arbeit in der GUI (also auch für den Zugriff über eine ComboBox) sind Datenkopien im Arbeitsspeicher - insb.
DataSet und
DataTable vorgesehen.
Aber selbstverständlich ist ein Weg vorgesehen, der Deinem Wunsch entspricht; das gilt vor allem für Nachschlagetabellen. Hole zuerst per Select-Befehl und DbDataAdapter eine Liste ID+Name in eine DataTable. Binde die
ComboBox an diese DataTable und verweise
DisplayMember und
ValueMember an die betreffenden Spalten.
Für Erläuterungen verweise ich auf die SDK-Doku sowie auf
OpenBook Visual C# Kap.26.
Hinweis: Es ist nicht sinnvoll, auf diesem Weg alle zig-tausend Kunden bereitzustellen, weil die ComboBox dafür nicht anwenderfreundlich ist. So etwas macht man eher über Auswahlformulare o.ä. Aber für kleinere Datenmengen geht es.
Gruß Jürgen