Following on from the previous arcpy SearchCursor return a OBJECTID value not as an integer
Dim pQF As ESRI.ArcGIS.Geodatabase.IQueryFilter = New ESRI.ArcGIS.Geodatabase.QueryFilter()
pQF.WhereClause = "BQ no. = '22/22' and Segment ID = '22/22-1'" 'exactly the same as Select by Attributes'
Dim pCur As ESRI.ArcGIS.Geodatabase.ICursor = pTable.Search(pQF, False) ' open the cursor'
Dim pFieldIndex As Integer = pTable.Fields.FindField("DrainName") ' get the index of the field "DrainName" or -1 if it's not found
Dim pRow As ESRI.ArcGIS.Geodatabase.IRow = pCur.NextRow ' first row'
Do Until pRow Is Nothing
Debug.Print(pRow.Value(pFieldIndex)) ' do something important here'
pRow = pCur.NextRow
To limit the returned rows use IQueryFilter interface (or ISpatialFilter - another handy one if you want to select by location).
In VB you get the value by its index not the field name; to get the index use ITable.Fields.FindField (IFeatureClass.Fields.FindField is the same) to get the index.
I have a feeling that you have field aliases and not field names, that might cause problems with the whereclause of the query - use the field names instead for better results.