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