2012-04-06 55 views
0

我知道實例化你這樣做了新的OleDbCommand對象:混亂有關的OleDbCommand

OleDbCommand command = new OleDbCommand(queryString, connection); 

不過,我很困惑,這行代碼是這樣做的:

OleDbCommand cmd = aConnection.CreateCommand(); 

我知道aConnection是一個OleDbConnection對象,它在代碼中已經實例化了。

從MSDN庫中我知道CreateCommand()是一個與OdbcConnection關聯的OdbcCommand對象。但是,圖書館並沒有進一步解釋其目的。

即使我知道各個組件是什麼,但我不確定這裏發生了什麼。爲了能夠使用SQL命令,cmd是一個正在實例化的OleDbCommand對象嗎?我在代碼上進一步推斷,是因爲有以下幾點:

cmd.CommandText = "SELECT * FROM Team where typeOfSport = '" + typeOfSport + "'"; 

回答

0

它僅僅是從連接對象創建的命令。該命令將與其創建的連接關聯。

OleDbCommand command = new OleDbCommand(queryString, connection); 

相同

OleDbCommand command = connection.CreateCommand() 
+0

「與使用新語句創建命令並將連接屬性設置爲連接對象無關。」好。所以實質上它是一條捷徑。我不知道你可以這樣做。非常感謝您的幫助。 – 2012-04-06 15:48:20

2

根據MSDNaConnection.CreateCommand()

創建並返回與所述 OleDbConnection的相關聯的OleDbCommand對象。

這基本上是其已經建立,而不必設置在CommandText上的命令相應的連接一個方便的方法 - 無論何時需要一個OleDbCommand對象,而無需直接但後來供給CommandText從而可以作爲一個實用方法...

+0

謝謝你的幫助。 – 2012-04-06 15:49:51

+0

@ProgrammingNewbie歡迎您:-)請不要忘記將upvote/mark標記爲可接受的幫助答案(參見http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer -工作)。 – Yahia 2012-04-06 15:53:09

+0

完成。出於某種原因,該系統讓我等待6分鐘,然後它才允許我上傳/標記接受的答案。如果火焰戰爭發展,我想這是讓脾氣冷靜下來的。 – 2012-04-06 15:58:33