2010-09-07 166 views
1

時出現的一些問題,有一個objCMD變量設置爲Server.CreateObject("ADODB.Command")的值。我認爲objCMD應該變成一個SqlCommand .NET對象,但我需要首先確認。我仍然不確定Server.CreateObject("ADODB.Command")正在做什麼。我在經典asp網站上從經典asp轉換爲.NET

有人可以向我解釋Server.CreateObject()嗎?

回答

3

Server.CreateObject從命名標識符創建一個COM對象,用於在asp中使用。

傳入的字符串將標識需要創建供asp使用的COM對象(例如Msxml.DOMDocument用於XML解析器,或者ADODB數據庫命令對象,如您的示例中所示)。

正如您所猜測的,.NET中的ADODB.Command的等效物是SqlCommand對象。

1

Server.CreateObject本質上是創建一個指定類型的服務器對象。在你的情況下,它是一個ADO命令對象。

隨着.Net,這已被替換爲ADO.Net框架,它使用起來更簡單。您將創建一個SqlCommand對象,就像您所指出的一樣,以及一個DataAdapter或DataReader對象以及SqlCommand對象。

+0

感謝您的回答。就在我的「ADODB.Command」聲明下面,我有一個「Server.CreateObject(」ADODB.Recordset「)」對象。這正是我需要用一個DataAdapter或DataReader對象來替換,正如你所說的那樣? – user408869 2010-09-07 20:03:25

+0

在Recordset的情況下,如果要使用TableAdapter檢索/操作數據,則可能需要使用DataTable;如果使用DataReader,則可能使用非數據表。 DataReader提供記錄集結果的「一次性流」,一次記錄一條記錄,因此您可以根據需要選擇如何處理數據。 – 2010-09-07 21:02:56