The concept I think you are chasing down is called Data Binding in the Microsoft .NET world. The technical coverage of Data Binding in the .NET Compact Framework can be found here:
http://msdn2.microsoft.com/en-us/library/9k8yax26(VS.80).aspx
Many controls in the .NET Compact Framework have a DataSource member that supports binding to a DataTable which you can obtain with a table adapter, binding source, or for read-only simple binding, by filling a DataTable using a SqlCeDataReader as shown below:
Dim dt As DataTable = DatabaseManager.GetInstance().GetDataTable("SELECT ID, Name FROM Technician WHERE Status = 'Active'")
Me.cboTechnician.DataSource = dt
Me.cboTechnician.DisplayMember = "Name"
Me.cboTechnician.ValueMember = "ID"
Simply by setting the cboTechnician combobox's datasource, display and value members, this control is populated by the underlying DataTable and you have the unique ID of each value available without a subsequent round trip to the database.
A newsgroup is not the best place to teach data binding - I recommend a copy of either Paul Yao's book .NET Compact Framework Programming with C# (or VB.NET) or the MSDN Press book .NET Compact Framework Core Reference by Andy Wigley. Both offer excellent coverage of this topic.
-Darren
.NET Compact Framework MVP |