1. 程式人生 > >SqlParameter的作用與用法

SqlParameter的作用與用法

  一般來說,在更新DataTable或是DataSet時,如果不採用SqlParameter,那麼當輸入的Sql語句出現歧義時,如字串中含有單引號,程式就會發生錯誤,並且他人可以輕易地通過拼接Sql語句來進行注入攻擊。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 string sql = "update Table1 set name = 'Pudding' where ID = '1'"
;//未採用SqlParameter SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=.\\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|\\Database.mdf;User Instance=true";//連線字串與資料庫有關 SqlCommand cmd = new SqlCommand(sql, conn); try { conn.Open();
return(cmd.ExecuteNonQuery()); } catch (Exception) { return -1; throw; } finally { conn.Close(); }

上述程式碼未採用SqlParameter,除了存在安全性問題,該方法還無法解決二進位制流的更新,如圖片檔案。通過使用SqlParameter可以解決上述問題,常見的使用方法有兩種,Add方法和AddRange方法。

一、Add方法

1 2 3 4 SqlParameter sp = new SqlParameter("@name""Pudding"); cmd.Parameters.Add(sp); sp = new SqlParameter("@ID""1"); cmd.Parameters.Add(sp);

  該方法每次只能新增一個SqlParameter。上述程式碼的功能是將ID值等於1的欄位name更新為Pudding(人名)。

二、AddRange方法

1 2

相關推薦

SqlParameter作用用法

  一般來說,在更新DataTable或是DataSet時,如果不採用SqlParameter,那麼當輸入的Sql語句出現歧義時,如字串中含有單引號,程式就會發生錯誤,並且他人可以輕易地通過拼接Sql語句來進行注入攻擊。 1 2 3 4 5

Spark中的checkpoint作用用法

轉自大佬的部落格: 感謝大佬 checkpoint的意思就是建立檢查點,類似於快照,例如在spark計算裡面 計算流程DAG特別長,伺服器需要將整個DAG計算完成得出結果,但是如果在這很長的計算流程中突然中間算出的資料丟失了,spark又會根據RDD的依賴關係從頭到尾計算一

[IOS]hitTest的作用用法【轉】

轉載自:  http://blog.sina.com.cn/s/blog_446da0320100yw9u.html hitTest的作用:當在一個view上新增一個遮蔽罩,但又不影響對下面view的操作,也就是可以透過遮蔽罩對下面的view進行操作,這個函式就很好用了

static的作用用法

1、什麼是static?       static 是C++中很常用的修飾符,它被用來控制變數的儲存方式和可見性。    2、為什麼要引入static?       函式內部定義的變數,在程式執行到它的定義處時,編譯器為它在棧上分配空間,大家知道,函式在棧上分配的空間在此函式

Android ViewHolder的作用用法 詳解

ViewHolder通常出現在介面卡裡,為的是listview滾動的時候快速設定值,而不必每次都重新建立很多物件,從而提升效能。 在android開發中Listview是一個很重要的元件,它以列表的形式根據資料的長自適應展示具體內容,使用者可以自由的定義lis

substring()函式的作用用法

返回字元、二進位制、文字或影象表示式的一部分。 語法 SUBSTRING ( expression, start, length )  引數 expression 字串、二進位制字串、文字、影象、列或包含列的表示式。請勿使用包含聚合函式的表示式。start 整數或可以隱式

#if 0 /#if 1作用用法

轉自:http://www.cppblog.com/Joe/archive/2011/05/24/147036.aspx 當註釋掉大塊程式碼時,使用"#if 0"比使用"/**/"要好,因為用"/**/"做大段的註釋要防止被註釋掉的程式碼中有巢狀的"/**/",這會導致註釋

DelegatingFilterProxy的作用用法

開發十年,就只剩下這套架構體系了! >>>   

duilib各種佈局的作用,相對佈局絕對佈局的的意義用法

轉載請說明原出處,謝謝~~       我使用duilib快3個月了,總體感覺duilib的使用還是較為簡單的,只是剛入門時可能有些摸不清頭腦。今天寫一篇關於duilib的入門日誌,大致說一下duilib中的各個佈局的作用,以及很關鍵的相對佈局與絕對佈局的意義與用法。希望可以

php--strlen()mb_strlen的作用區別

encoding 字符串長度 php.ini php odin int 字節數 ring enc 在PHP中,strlen與mb_strlen是求字符串長度的函數PHP內置的字符串長度函數strlen無法正確處理中文字符串,它得到的只是字符串所占的字節數。對於GB2312的

野山參的作用價值

自由 釋放 創新 關閉 增加 前瞻 風險 多人 沒有 進入2017之後,很多平臺陸續關閉,一夜之間突然冒出個“新零售”很多人都不知道什麽是新零售。本文將為各位老板深入解讀新零售的概念和盈利模式。其實“新零售”一詞早早2016年年底的時候馬雲就曾經說過。新零售暫且不議,最近很

ssh 配置用法

登錄 spa auth port server 服務 echo 密鑰 clas 1. 背景 本地操作直接shell登陸處理,那遠程操作就需要ssh,ssh提供加密驗證和傳輸,提高通信的安全程度。 2. 配置 2.1 客戶端配置 生成客戶端密鑰: $ ssh-k

cookiesession的作用執行方式

cookie與session的作用與執行方式問題:瀏覽器與服務器請求與返回過程中,cookie跟session有什麽用?1.cookie# 服務器端產生cookie,cookie是存在瀏覽器中; # 瀏覽器在請求服務器端之後,服務器端想在瀏覽器端保存一些數據; # 服務器就會創建一個cookie,在返回請求相

PHP數據庫連接mysqlmysqli的區別用法

close ace ase 二次 銷毀 數據庫 table name .cn 一、mysql與mysqli的概念相關: 1、mysql與mysqli都是php方面的函數集,與mysql數據庫關聯不大。 2、在php5版本之前,一般是用php的mysql函數去驅動mysq

詳解http和https的作用區別

就是 免費證書 構建 難題 原理 過程 完全 mod 支持 PS: https就是http和TCP之間有一層SSL層,這一層的實際作用是防止釣魚和加密。防止釣魚通過網站的證書,網站必須有CA證書,證書類似於一個解密的簽名。另外是加密,加密需要一個密鑰交換算法,雙方通過交換後

ARRAYLIST VECTOR LINKEDLIST 區別用法

用法 size 插入數據 區別 插入元素 lin 需要 cto linked ArrayList 和Vector是采用數組方式存儲數據,此數組元素數大於實際存儲的數據以便增加和插入元素,都允許直接序號索引元素,但是插入數據要設計到數組元素移動等內存操作,所以索引數據快插入數

轉 [ORACLE]詳解not innot exists的區別用法(not in的性能並不差!)

values 我們 and ons 一點 pla 出現 開始 min 在網上搜了下關於oracle中not exists和not in性能的比較,發現沒有描述的太全面的,可能是問題太簡單了,達人們都不屑於解釋吧。於是自己花了點時間,試圖把這個問題簡單描述清楚,其實歸根結底一

redis類用法

struct kong echo mod space 讀取數據 gpo 變量 class <?phpnamespace app\common\model; class Cache { public $redis = null; public

PHP中VC6、VC9、TS、NTS版本的區別用法詳解

進行 系統資源 stc 詳解 ron 線程安全 info 啟動 win 1. VC6與VC9的區別: VC6版本是使用Visual Studio 6編譯器編譯的,如果你的PHP是用Apache來架設的,那你就選擇VC6版本。 VC9版本是使用Visual Studio 20

Nmap掃描原理用法

banner 表示 fas 最新 pos scrip 計算機 rule 選項卡 Nmap掃描原理與用法 2012年6月16日 1 Nmap介紹 Nmap掃描原理與用法PDF:下載地址 Nmap是一款開源免費的網絡發現(Network Discovery)和安