知識寶典ADO.NET _CommandPtr接口
大家都喜歡用ADO.NET訪問數據庫,本人收集了大量的資料,現在就分享給大家,ADO庫包含三個基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。ADO.NET _CommandPtr接口返回一個記錄集或一個空指針。通常使用它來創建一個數據連接或執行一條不返回任何結果的SQL語句,如一個存儲過程。使用_ConnectionPtr接口返回一個記錄集不是一個好的使用方法。對于要返回記錄的操作通常用_RecordserPtr來實現。而用 _ConnectionPtr操作時要想得到記錄條數得遍歷所有記錄,而用_RecordserPtr時不需要。
#T#ADO.NET _CommandPtr接口返回一個記錄集。它提供了一種簡單的方法來執行返回記錄集的存儲過程和SQL語句。在使用_CommandPtr接口時,你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用連接串。如果你只執行一次或幾次數據訪問操作,后者是比較好的選擇。但如果你要頻繁訪問數據庫,并要返回很多記錄集,那么,你應該使用全局_ConnectionPtr接口創建一個數據連接,然后使用 _CommandPtr接口執行存儲過程和SQL語句。
ADO.NET _RecordsetPtr是一個記錄集對象。與以上兩種對象相比,它對記錄集提供了更多的控制功能,如記錄鎖定,游標控制等。同_CommandPtr 接口一樣,它不一定要使用一個已經創建的數據連接,可以用一個連接串代替連接指針賦給_RecordsetPtr的connection成員變量,讓它自己創建數據連接。如果你要使用多個記錄集,***的方法是同Command對象一樣使用已經創建了數據連接的全局_ConnectionPtr接口,然后使用_RecordsetPtr執行存儲過程和SQL語句。
使用ADO.NET _CommandPtr接口,_CommandPtr接口返回一個Recordset對象,并且提供了更多的記錄集控制功能,以下代碼示例了使用ADO.NET _CommandPtr接口的方法:
- _CommandPtr pCommand;
- _RecordsetPtr pRs;
- pCommand.CreateInstance(__uuidof(Command));
- pCommand->ActiveConnection=pConn;
- pCommand->CommandText="select * from student";
- pCommand->CommandType=adCmdText;
- pCommand->Parameters->Refresh();
- pRs=pCommand->Execute(NULL,NULL,adCmdUnknown);
- _variant_t varValue = pRs->GetCollect("name");
- Cstring strValue=(char*)_bstr_t(varValue);
關于數據類型轉換由于COM對象是跨平臺的,它使用了一種通用的方法來處理各種類型的數據,因此Cstring 類和COM對象是不兼容的,我們需要一組API來轉換COM對象和C++類型的數據。_vatiant_t和_bstr_t就是這樣兩種對象。它們提供了通用的方法轉換COM對象和C++類型的數據