Public Sub Adjacencies(TableName As String, FieldName As String, MidValue As Int) As List
Dim lstResult As List
lstResult.Initialize
Dim Query As String
Query = _
$"
SELECT ${FieldName} FROM
(SELECT ${FieldName} FROM ${TableName} WHERE ${FieldName} < ? ORDER BY ${FieldName} DESC LIMIT 1) AS A
UNION
SELECT ${FieldName} FROM
(SELECT ${FieldName} FROM ${TableName} WHERE ${FieldName} > ? ORDER BY ${FieldName} ASC LIMIT 1) AS B
"$
Dim Cursor As ResultSet
Cursor = DB.ExecQuery2(Query, Array(MidValue, MidValue))
Do While Cursor.NextRow
lstResult.Add(Cursor.GetInt(FieldName))
Loop
Return lstResult
End Sub