下面是我用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()
从DataReader
获得特定值有4种方法。我想知道哪个是最好的方法(如果有人指出它们之间的区别,那么它将是一个很大的帮助)。
var_stu_id = dr.GetValue(dr.GetOrdinal("stu_id"))
是从DataReader检索数据的最佳方法。
Get<Datatype>
函数用于从DataReader中检索特定的DataType值。但GetValue()
可用于检索任何数据类型值。GetOrdinal()
接受列的索引号以及列名作为列引用,这是从我的角度使用此方法的一个优点。NullReferenceException
。DataReader提供了一系列方法,允许您访问其本机数据类型中的列值(GetDateTime
,GetDouble
,GetGuid
,GetInt32
等)。使用类型化的访问器方法,假设基础数据类型已知,减少了数量检索列值时所需的类型转换
在你展示的4种方式中,最好的方法是var_stu_id = dr.GetValue("stu_id")
。因为它以其本机格式获取指定列的值。
资料来源:sqldatareader