2015-07-10 17 views
0

我正在使用Visual Studio 2013,並想知道使用TableAdapter來製作和運行查詢以及使用MySqlCommand cmd = new MySqlCommand();有什麼區別。當然他們都是一樣的?但TableAdapter看起來更安全,因爲它可以用來阻止SQL注入。使用TableAdapter或以編程方式插入?

我想知道這一點,因爲使用TableAdapters,您只需創建一條SQL語句,然後調用該語句,傳遞任何必需的參數。以編程方式執行此操作,您必須實例化SQL命令,創建查詢,綁定參數,打開連接,執行查詢,然後關閉連接。

那麼爲什麼很多人以編程方式運行SQL查詢而不是簡單的方法,如使用TableAdapter

回答

0

設置TableAdapter與設置SqlCommand幾乎一樣多。你沒有完全描述它。 TableAdapter通常用於用戶界面中的數據綁定場景,因此任何掛起的CRUD操作都可以通過一次調用Update來完成。例如,這只是構建數據訪問層的不太合適的方式。 And ... SqlCommands完全防止SQL注入,假設您實際使用SqlParameters。

+0

但我同意以編程方式運行查詢,但使用SqlCommand的工作量更多。他們與使用TableAdapter和SqlCommand的區別很大嗎?效率?還是其他什麼? – Poltergeist

+0

@Poltergeist我懷疑效率差別很大,TableAdapters只是包裝這些命令,參數和連接 - 它根本不使用不同的技術。 – Crowcoder

+0

TableAdapters增加了強大的打字功能,可以讓你從大多數低級別的東西中解放出來。與SqlCommand一樣,使用它們更好。也就是說,如果您在更高層次上獲得編程的樂趣,請檢查實體框架。 – Gustav

相關問題