最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

多條件查詢的程序

 更新時間:2009年05月27日 01:45:38   作者:  
在一個網(wǎng)站中,常常會使用到查詢功能。假設(shè)一個企業(yè)內(nèi)部網(wǎng)中,用戶信息里通常會涉及到工號、姓名、性別、學(xué)歷、職業(yè)、職稱、身份證號碼、手機號碼、座機號碼、傳真號碼、郵政編號、通訊地址等信息。
而在對用戶進(jìn)行查詢時,也可能會使用到多種條件的查詢方式,如通過工號查詢、通過姓名查詢、通過性別查詢、通過學(xué)歷查詢等。也有可能會通過多種條件的組合查詢,如查學(xué)歷是大專的女員工等。
對于這種查詢情況,通常的作法是讓用戶輸入查詢條件,再進(jìn)行SQL語句組合來進(jìn)行查詢。如讓用戶輸入工號、姓名等,單擊提交按鈕之后,在后臺獲得這些信息,如以下代碼所示:
復(fù)制代碼 代碼如下:

//設(shè)置查詢語句
string strSql = "SELECT * FROM [user] where UserState=1 ";
//如果用戶名不為空則添加查詢條件
if (UserName!="")
{
    strSql += "and (UserName'= "+UserName+"') ";
}
//如果性別不為空則添加查詢條件
if (Sex!="")
{
    strSql += "and (Sex'= "+Sex+"') ";
}

在創(chuàng)建完SQL語句之后,執(zhí)行該語句獲得查詢結(jié)果。
這種是使用得最多并且是最不安全的方法,因為這是最容易讓別人SQL注入攻擊的一個方式。
如果想要避免SQL注入攻擊,可以將查詢語句寫在存儲過程中,然后使用SqlParameter將參數(shù)傳遞給存儲過程,但是,一個多條件查詢的存儲過程需要怎么寫呢?
其實,這個存儲過程并不難,可以使用以下方式:
復(fù)制代碼 代碼如下:

CREATE PROCEDURE [dbo].[UserCheck]
@UserId varchar(50) = null,
@UserName varchar(20) = null,
@RealName varchar(20) = null,
@Sex bit = null,
@JobTitle varchar(50) = null,
@Organ varchar(50) = null,
@IDCardType smallint = null,
@IDCard varchar(50) = null,
@Mobile varchar(50) = null
AS
BEGIN
select * from [user]
where UserId like case when @UserId is null then UserId else @UserId end
and UserName like case when @UserName is null then UserName else @UserName end
and RealName like case when @RealName is null then RealName else @RealName end
and Sex = case when @Sex is null then Sex else @Sex end
and JobTitle like case when @JobTitle is null then JobTitle else @JobTitle end
and Organ like case when @Organ is null then Organ else @Organ end
and IDCardType = case when @IDCardType is null then IDCardType else @IDCardType end
and IDCard like case when @IDCard is null then IDCard else @IDCard end
and Mobile like case when @Mobile is null then Mobile else @Mobile end
END

相關(guān)文章

最新評論

琼中| 宝坻区| 辽宁省| 丹凤县| 东光县| 宿迁市| 南华县| 玉山县| 永嘉县| 谷城县| 玉树县| 额尔古纳市| 连平县| 左贡县| 文化| 十堰市| 宁远县| 寿宁县| 比如县| 简阳市| 临武县| 德清县| 枞阳县| 永登县| 财经| 聂拉木县| 陈巴尔虎旗| 钦州市| 长顺县| 西乌珠穆沁旗| 横峰县| 如东县| 洛扎县| 景谷| 古丈县| 浑源县| 黄山市| 女性| 柳林县| 瑞金市| 常熟市|