What\'s the difference between reading a value from an SqlDataReader using this syntax:
Dim reader As SqlClient.SqlDataReader reader(\"value\").ToString() >
I think that the reason to use GetOrdinal() is so that you can cache the result and re-use it multiple times for performance.
E.g.
Dim reader As SqlClient.SqlDataReader int valueOrdinal = reader.GetOrdinal("value"); while ( ... ) { var value = reader.GetString(valueOrdinal); }