探秘不同尋常的ADO.NET參數(shù)介紹
來(lái)源:易賢網(wǎng) 閱讀:831 次 日期:2014-08-20 14:09:04
溫馨提示:易賢網(wǎng)小編為您整理了“探秘不同尋常的ADO.NET參數(shù)介紹”,方便廣大網(wǎng)友查閱!

在ADO.NET參數(shù)中經(jīng)常需要跟各種數(shù)據(jù)庫(kù)打交道,在不實(shí)用存儲(chǔ)過(guò)程的情況下,使用參數(shù)化SQL語(yǔ)句一定程度上可以防止SQL注入,同時(shí)對(duì)一些較難賦值的字段使用參數(shù)化SQL語(yǔ)句很容易就能賦值。

所以本人經(jīng)常在ADO.NET參數(shù)化SQL語(yǔ)句,近幾年來(lái)陸續(xù)跟SQL Server/Oracle/ MySQL/Access打交道,積累了一些心得,現(xiàn)在整理出來(lái)供大家參考。我們假設(shè)數(shù)據(jù)可的結(jié)構(gòu)如下圖(設(shè)置的數(shù)據(jù)庫(kù)為Oracle10g):

create table S_Admin

(

UserName varchar(60) not null,

Password varchar(60) not null,

Remarkvarchar(50) null,

Mail varchar(120)not null,

AddDate datetime null default GETDATE(),

LoginDatedatetime null default GETDATE(),

LoginIP varchar(50) null,

Activesmallint null default 1,

LoginCount intnull default 1,

Power intnull default 0,

Departid intnull default 0,

constraint PK_S_ADMIN primary key nonclustered (UserId)

)

go 需要說(shuō)明的是,除了Access之外,操作其它數(shù)據(jù)庫(kù)可以不必要按照參數(shù)在SQL語(yǔ)句中出現(xiàn)的順序添加進(jìn)去一樣可以正確執(zhí)行,但是在Access中一定按照插入的列的順序添加參數(shù),因?yàn)椤癘LE DB.NET Framework 數(shù)據(jù)提供程序使用標(biāo)有問(wèn)號(hào) (?) 的定位參數(shù),而不使用命名參數(shù)(MSDN)”,所以給添加參數(shù)和賦值一定要按照列的順序。

通過(guò)上面的例子,基本上可以總結(jié)出一個(gè)規(guī)律:在參數(shù)化SQL中參數(shù)名的格式跟其在存儲(chǔ)過(guò)程中生命存儲(chǔ)過(guò)程參數(shù)一致,例如在Oracle中存儲(chǔ)過(guò)程參數(shù)一律以”:”開(kāi)頭,在MS SQL Server中存儲(chǔ)過(guò)程參數(shù)一律以”@”開(kāi)頭,而在MySQL中存儲(chǔ)過(guò)程(MySQL從5.0以后版本支持存儲(chǔ)過(guò)程)參數(shù)一律以“?

”開(kāi)頭,所以在參數(shù)化SQL語(yǔ)句中參數(shù)名有些不一樣(記得在csdn上有朋友提到過(guò)不知道為什么MySQL中參數(shù)化SQL語(yǔ)句中要用“?”而不是和SQL Server一樣使用”@”),如果那位朋友看過(guò)本文,我想他就會(huì)解開(kāi)這個(gè)疑慮了。

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:探秘不同尋常的ADO.NET參數(shù)介紹
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)