我的任務是轉換和使用ADOOB連接的舊程序使用SqlClient連接。有什麼區別?在VB.net ADODB和SqlClient之間的主要區別是什麼
回答
ADODB使用較舊的ADO庫。此代碼主要用於與舊代碼兼容,並使舊代碼向前移植更容易。它也處於不同的抽象層次。 ADODB定義了一組連接到任何數據庫類型的對象都可以實現的標準。 SqlClient特定於Sql Server。但是,SqlClient實現了較新的ADO.Net提供程序合同。只要有可能,即使在移植舊代碼時,也要使用SqlClient或其他ADO.Net提供程序。
System.Data.SqlClient namespace與Microsoft ActiveX Data Objects不同,但並不是說只要在後端使用SQL服務器時,查看文檔不應該讓您處於正確的路徑。
兩者都使用的連接,並允許任何「命令」或「記錄設置」界面,但前者是,出於顯而易見的原因,更緊密地集成到.NET。您可能會發現許多應用程序中的VB.Net代碼可以被刪除的實例,因爲您可以將該功能內置到新的界面中。
OleDb更通用。如果您將來轉移到不同的數據庫類型,很可能會有一個Ole驅動程序,您不必更改太多的代碼。
在另一方面,SQL Server本機驅動程序應該是快如你所說,它有更好的參數支持(參數可以使用名稱,並且沒有必須按順序)。
有在ADO庫一定的侷限性以下一些被稱爲侷限性
分層記錄不被支持。
服務器端遊標(比FO-RO光標等)只適用於Microsoft SQL Server數據庫的支持。
Recordset.Open方法支持多個用分號分隔的SQL語句,但不支持Connection和Command對象的Execute方法。
參數化存儲程序不與Oracle數據庫支持
異步執行被允許用於連接和記錄的對象的打開方法,但不用於連接和命令對象的Execute方法。
Recorset對象的UpdateBatch方法要求SQL源語句包含所有涉及表的鍵字段,並且不適用於舊語法JOIN語句,嵌套SELECT語句和派生表。
用於打開服務器端鍵集和動態遊標必須包含至少一個非空的鍵列的SELECT語句。
Move方法不起作用,並提出與服務器端動態遊標異常。
索引,搜索,記錄集類的MarshalOption,StayInSync成員不落實,並標記爲過時。
Recordset類的PageSize,Clone和Find成員未實現用於鍵集和其他服務器端遊標。
Command類的CommandStream,Dialect,NamedParameters和Prepared成員未實現並標記爲廢棄。
Stream類的ReadText,WriteText和SkipLines方法未實現並標記爲廢棄。
不支持Connection或Recordset對象的一些動態屬性。
不支持ADODB.Record類。
一些功能部分或不支持
希望它有助於
感謝這正是我需要的 –
@ shaikibrahim如果它幫助好心接受答案 – 2013-05-28 06:33:09
- 1. java中的Array和Hashmap之間的主要區別是什麼?
- 2. fwrite和write之間的主要區別是什麼?
- 3. mysql和oracle sql方言之間的主要區別是什麼?
- 4. AsyncTask()和Handler()之間的主要區別是什麼?
- 5. Meteor,Ember.js和Backbone.js之間的主要區別是什麼?
- 6. ReadOnly和Enabled之間的主要區別是什麼?
- 7. freeglut和glut之間的主要區別是什麼
- 8. Docker和Kubernetes之間的主要區別是什麼
- 9. logstash和apache storm/spark streaming之間的主要區別是什麼?
- 10. SVN客戶端和API之間的主要區別是什麼?
- 11. G1GC和SGen GC之間的主要區別是什麼
- 12. 什麼是Haskell,python和c函數之間的主要區別?
- 13. Ruby 1.8.6和1.9.1之間的主要區別是什麼?
- 14. include_once和require_one之間的主要區別是什麼?
- 15. Ext.Direct Pack和Ext.Air Pack之間的主要區別是什麼
- 16. 滑行和godep之間的主要區別是什麼?
- 17. ADODB和SqlClient
- 18. Sinatra和Ramaze之間的主要區別是什麼?
- 19. NSURLConnection connectionWithRequest:delegate和sendAsynchronousRequest:queue:completionHandler之間的主要區別是什麼?
- 20. Repa 2和3 API之間的主要區別是什麼?
- 21. CTE和TEMP表格之間的主要區別是什麼?
- 22. 框架和工具包之間的主要區別是什麼?
- 23. Java SE和Java EE之間的主要區別是什麼?
- 24. VB Express 2008(pro)和2010之間的主要區別是什麼?
- 25. C++中stdlib.h和cstdlib之間的主要區別是什麼?
- 26. Python和PHP之間的主要區別是什麼?
- 27. Rails 1.X和2.X之間的主要區別是什麼
- 28. Compiler和Transpiler之間的主要區別是什麼
- 29. Dictionary和Hashtable之間的主要區別是什麼
- 30. android中asynctask和thread之間的主要區別是什麼?
什麼ADOOB?.. –
的主要區別是ADODB您使用的記錄。 SqlClient通過ADO.Net運行,並沒有RecordSets,它有更新的方法,如DataReaders。 –