麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

告別where 1=1 最佳方案分享

2019-11-17 02:56:27
字體:
供稿:網(wǎng)友
告別where 1=1 最佳方案分享

已經(jīng)有2年沒有用過where 1=1了,沒想到換了家公司后,又讓我看到了它。在網(wǎng)絡(luò)上面搜索了一下,發(fā)現(xiàn)沒有人提供一個比較好的方案來解決這一問題。很多人說可以讓數(shù)據(jù)庫的優(yōu)化機制去處理,但是,我想對于大部分程序來說,數(shù)據(jù)庫都是負(fù)擔(dān)最重的那個。能夠自己去做優(yōu)化的話,還是不要加重數(shù)據(jù)庫的負(fù)擔(dān)了吧。以下是兩種相似的方法來解決where 1=1 的問題,供大家參考。

方案一、在數(shù)據(jù)庫底層代碼中這樣處理:

if (!String.IsNullOrEmpty(strWhere))            {                string str = strWhere.TrimStart();//去除前置空格                if (str.ToLower().IndexOf("and ") == 0)//若以and開頭則自動去除第一個and                {                    strWhere = str.Substring(4);//若要保留前面一個空格,可以改為3                }                strSql.Append(" where " + strWhere);            }

方案二、在匹配條件傳入底層方法前,調(diào)用下面通用方法:

/// <summary>         /// 驗證sql匹配條件是否正確(若以and開頭則自動去除)         /// </summary>         /// <param name="where">sql匹配條件</param>        public static string CheckWhere(string where)        {            string str = where.TrimStart();//去除前置空格            if (str.ToLower().IndexOf("and ") == 0)//若以and開頭則自動去除第一個and            {                where = str.Substring(4);//若要保留前面一個空格,可以改為3            }            return where;        }

第一次發(fā)博客,有不足的地方,歡迎大家指正。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人不卡一区二区 | 色视频在线 | 国产porn在线| 日本欧美在线播放 | 久久人人爽人人爽人人片av免费 | 日本高清视频网站www | av中文在线观看 | 成人不卡免费视频 | 一区二区三区在线观看国产 | 国产一级毛片a | 爽爽淫人网 | 国产一级毛片高清视频完整版 | 91久久国产露脸精品国产护士 | 国产精品久久久久久模特 | 香蕉国产片 | 午夜小网站 | 亚洲操比视频 | 精品国产91久久久久久久妲己 | 久久国产精品久久精品国产演员表 | asian裸体佳人pics | 欧美乱淫 | 最新亚洲视频 | 黄色高清视频网站 | 天海翼四虎精品正在播放 | 欧美雌雄另类xxxxx | 欧美成人久久 | 校花被肉干高h潮不断 | 97中文| 亚洲乱妇19p | 成人做爰s片免费看网站 | 欧美亚洲一区二区三区四区 | 依依成人综合 | 男人久久天堂 | 久久久久99999 | 日本在线观看高清完整版 | 日韩欧美精品电影 | 亚洲成人在线免费 | 强伦女教师视频 | 高清做爰免费无遮网站挡 | 最新黄色毛片 | 激情综合在线观看 |