Ниже приведен пример кода, который я написал на VB.NET.
commandReader.CommandText = "Select stu_id from tbl_students Where stu_id = 845)"
dr = commandReader.ExecuteReader
While dr.Read
var_stu_id = dr!stu_id
var_stu_id = dr.GetValue(dr.GetOrdinal("stu_id"))
var_stu_id = dr("stu_id")
var_stu_id = dr.GetValue("stu_id")
End While
dr.Close()
Есть 4 способа получить конкретное значение из DataReader
. Я хотел бы знать, какой из них лучший метод (если кто-нибудь укажет на разницу между каждым из них, это будет большим подспорьем).
dr("stu_id")
является наиболее распространенным. Как вы заметили, в VB есть ! оператор для разыменования коллекций, и он существует всегда. Это просто синтаксический ярлык для третьего варианта. Если вам очень любопытно, загрузите расширение Ref12 и выберите «Перейти к определению» при вызове конкретного метода. Он покажет вам исходный код .NET, который использовался для его написания. Например, возможно, что dr.Item(stu_id) (такой же, как dr(stu_id) будет разрешаться в тот же или очень похожий код, что и dr.GetValue(stu_id). - person Craig Johnson   schedule 14.04.2015