2011-06-06 145 views
0

这是在.net SDK中提供的代码示例:这段代码是什么意思?

Private Sub ReadOrderData(ByVal connectionString As String) 
    Dim queryString As String = _ 
     "SELECT OrderID, CustomerID FROM dbo.Orders;" 

    Using connection As New SqlConnection(connectionString) 
     Dim command As New SqlCommand(queryString, connection) 
     connection.Open() 

     Dim reader As SqlDataReader = command.ExecuteReader() 

     ' Call Read before accessing data. 
     While reader.Read() 
      Console.WriteLine(String.Format("{0}, {1}", _ 
       reader(0), reader(1))) 
     End While 

     ' Call Close when done reading. 
     reader.Close() 
    End Using 
End Sub 

我的问题:这读卡器(0)实际的快捷调用此属性reader.item(0)

回答

5

reader(0)引用检索行中的第一个字段。不过,在这种情况下,您最好参考名称OrderID。请参阅SqlDataReader.Item Property

这是索引属性。你可以找到一些细节here

+0

是的,我知道目的,但是当创建我们自己的类时,我们需要添加我们的方法和属性,对吧?在这种情况下,对reader(0)的调用实际上是对SqlDataReader类的子,函数或属性的调用? – user774411 2011-06-06 04:32:43

+0

@Dee Jay - SqlDataReader.Item。答案中有一个参考。 – 2011-06-06 04:33:45

+0

你的意思是SqlDataReader类的Item属性,对吧?好吧,如果我正在创建自己的类并希望具有与此SqlDataReader类相同的行为,那么我可以只声明item属性,并将该调用作为我的类的实例,就像当前reader(0)调用一样?我是否需要添加任何东西(实现或继承)? – user774411 2011-06-06 04:38:09

2

读取器(0),阅读器(1)等指的是行乌尔retriving的列/字段,

读取器(0)--->塔1个

读取器(1) - - >第2列 ...

您可以使用直接字段名替代这些'读者'。但在书籍/教程中,代码总是这样写的。

+0

+1,感谢Stuti! – user774411 2011-06-06 04:45:17