激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術|

多條件查詢的程序

2021-10-06 17:15數(shù)據(jù)庫技術網(wǎng) 數(shù)據(jù)庫技術

在一個網(wǎng)站中,常常會使用到查詢功能。假設一個企業(yè)內(nèi)部網(wǎng)中,用戶信息里通常會涉及到工號、姓名、性別、學歷、職業(yè)、職稱、身份證號碼、手機號碼、座機號碼、傳真號碼、郵政編號、通訊地址等信息。

而在對用戶進行查詢時,也可能會使用到多種條件的查詢方式,如通過工號查詢、通過姓名查詢、通過性別查詢、通過學歷查詢等。也有可能會通過多種條件的組合查詢,如查學歷是大專的女員工等。
對于這種查詢情況,通常的作法是讓用戶輸入查詢條件,再進行SQL語句組合來進行查詢。如讓用戶輸入工號、姓名等,單擊提交按鈕之后,在后臺獲得這些信息,如以下代碼所示:

復制代碼 代碼如下:


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


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

復制代碼 代碼如下:


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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品视频网址 | 特级a欧美做爰片毛片 | 免费日本一区二区 | www.成人精品| 欧美精品色精品一区二区三区 | 久久久久中精品中文字幕19 | 一级片a| 欧美a级一区二区 | 国产成人在线视频 | 嫩呦国产一区二区三区av | 在线观看91精品 | 视频一区二区视频 | av日韩一区二区三区 | 久久久电影电视剧免费看 | 国产免费久久久久 | 欧美日本另类 | 国产精品久久久久久久久久免 | 精品在线观看一区 | 日韩黄色免费电影 | 一级黄色av电影 | 一级黄色大片在线观看 | 久久国产精品二区 | 色偷偷欧美 | 午夜精品视频免费观看 | 91精品国产综合久久婷婷香 | 在线观看国产日韩 | 久久嗨| 欧美精品一区二区久久久 | 国产精品久久久久久影院8一贰佰 | 99r国产精品| 午夜人体| 天天干天天碰 | 特一级黄色毛片 | 国产无区一区二区三麻豆 | 精品一区二区在线播放 | 精品一区二区三区欧美 | 欧美xxxwww| 麻豆国产网站 | 久久精品亚洲精品国产欧美kt∨ | 2021免费日韩视频网 | 久久国产成人精品国产成人亚洲 |