Вы можете создать метод, который вызывает ExecuteReader, а затем использует GetOrdinal с именем столбца, чтобы затем вызвать GetString.
Мой VB не существует, но это C # для метода расширения.
public static class SqlCommandExt
{
public static string ExecuteScalar(this SqlCommand cmd, string columnName)
{
using (var reader = cmd.ExecuteReader())
{
if (!reader.Read())
return null;
var index = reader.GetOrdinal(columnName);
return reader.GetString(index);
}
}
}