国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

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

2019-11-17 02:56:27
字體:
來源:轉載
供稿:網友
告別where 1=1 最佳方案分享

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

方案一、在數據庫底層代碼中這樣處理:

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);            }

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

/// <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;        }

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北海市| 孟津县| 华安县| 普定县| 霍城县| 准格尔旗| 宁城县| 克拉玛依市| 兴宁市| 儋州市| 滦平县| 新野县| 岳普湖县| 黔南| 裕民县| 子长县| 遵化市| 德令哈市| 邢台县| 郓城县| 白银市| 三穗县| 霍山县| 都安| 依安县| 浦县| 郸城县| 富宁县| 孟村| 贺州市| 绥德县| 醴陵市| 杨浦区| 公主岭市| 安庆市| 东兰县| 永胜县| 谢通门县| 霸州市| 霸州市| 区。|