ADO.net 的Datareader為什麼不用new?

請問在使用ADO.net的Datareader讀取資料表的資料時,什麼不需求用new來產生實體?

例如:

Dim myReader As SqlDataReader = myCommand.ExecuteReader()

而不是

Dim myReader As SqlDataReader =new myCommand.ExecuteReader()

2 個解答

評分
  • 1 0 年前
    最佳解答

    因為myCommand.ExecuteReader()會回傳一個sqlDataReader,而myReader變數只要指向它,就可以工作了例如下列2式是相同的1.Dim Cmd As SqlCommand=Conn.CreateCommand() Cmd.CommandText=”sql-statement “ Conn.Open()2.Dim Cmd As New SqlCommand(”sql-statement “,Conn) Conn.Open()

  • 1 0 年前

    當 myCommand.ExecuteReader() 的時候

    就會 NEW 一個實體的 DataReader 物件

    回傳出來....

    當要接收這個回傳的的物件要怎麼辦?

    必須宣告一個 DataReader 的屬性來接收

    這個 ExecuteReader() 方法的設計就是這樣

    如果要了解這種原理的運作

    還是得去了解 class 的原理

還有問題?馬上發問,尋求解答。