1. 程式人生 > >C# SQL 多條件查詢技巧

C# SQL 多條件查詢技巧

            #region 多條件搜尋時,使用List集合來拼接條件(拼接Sql)


            StringBuilder sql = new StringBuilder("select * from PhoneNum");
            List<string> wheres = new List<string>();
            if (cboGroup.SelectedIndex != 0)
            {
                wheres.Add(" ptypeid=" + cboGroup.Text.Split('|')[0]);
            }

            if (txtSearchName.Text.Trim().Length > 0)
            {
                 wheres.Add(" pname like '%" + txtSearchName.Text.Trim() + "%'");
            }

            if (txtSearchCellPhone.Text.Trim().Length > 0)
            {
                 wheres.Add(" pcellphone like '%" + txtSearchCellPhone.Text.Trim() + "%'");
            }


            //判斷使用者是否選擇了條件
            if (wheres.Count > 0)
            {
                string wh = string.Join(" and ", wheres.ToArray());
                sql.Append(" where " + wh);
            }
            #endregion

            #region 多條件搜尋使用帶引數的sql語句

            StringBuilder sql = new StringBuilder("select * from PhoneNum");
            List<string> wheres = new List<string>();
            List<SqlParameter> listParameter = new List<SqlParameter>();

            if (cboGroup.SelectedIndex != 0)
            {
                wheres.Add(" [email protected] ");
                listParameter.Add(new SqlParameter("@typeid", cboGroup.Text.Split('|')[0]));
            }

            if (txtSearchName.Text.Trim().Length > 0)
            {
                wheres.Add(" pname like @pname ");
                //pname like '%喬%'
                //pname liek '%'[email protected]+'%'
                listParameter.Add(new SqlParameter("@pname", "%" + txtSearchName.Text.Trim() + "%"));
            }

            if (txtSearchCellPhone.Text.Trim().Length > 0)
            {
                wheres.Add(" pcellphone like @cellphone ");
                listParameter.Add(new SqlParameter("@cellphone", "%" + txtSearchCellPhone.Text.Trim() + "%"));
            }


            //判斷使用者是否選擇了條件
            if (wheres.Count > 0)
            {
                string wh = string.Join(" and ", wheres.ToArray());
                sql.Append(" where " + wh);
            }

            SqlHelper.ExecuteDataTable(sql.ToString(), listParameter.ToArray());
            #endregion

相關推薦

C# SQL 條件查詢技巧

            #region 多條件搜尋時,使用List集合來拼接條件(拼接Sql)             StringBuilder sql = new StringBuilder("select * from PhoneNum");             List<string&g

Mybatis中動態sql(條件查詢)

動態SQL指:通過mtbatis提供的各種標籤實現動態拼接sql語句 例如: <!--動態SQL語句,多條件查詢--> <select id="findSomeByMore" re

C#中條件查詢

using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace 多條件查詢 { public partial

SQL條件查詢,模糊查詢,模糊條件查詢

臨近畢業答辯,最近老有同學問多條件查詢,模糊查詢其實沒那麼複雜。別想的複雜了。 在企業應用程式開發中經常遇到,查詢資料庫的時候,查詢的where條件可能不止一個,可能沒有條件,也有可能至少一個或者多個條件,遇到這種情況,今天看到論壇上有人用C#的 if 語句拼接,這樣解決可

SQL條件查詢括號的用途

public -c cati price 情況 如果 cat abi pen 界面: 代碼 select id,routeName,routeCharacteristic,routeIntroductions,costDetail,participate,click,rou

MyBatis中動態SQL語句完成條件查詢

null nbsp mybatis myba 查詢 from ref HR OS http://blog.csdn.net/yanggaosheng/article/details/46685565 MyBatis中動態SQL語句完成多條件查詢 <select i

Mybatis plus中一個框條件查詢 SQL拼接

條件查詢 filter array ryu toc suse return 多條 pen 遇到多條件查詢時,只用框架自帶的方法搞不定,只能自己寫方法拼接 EntityWrapper<YcejShopEntity> wrapper = new EntityWra

C# EF+Linq & Lambda條件查詢語句

1.Linq單條件查詢 var xxfDate = from u in dbContext.Customer                          

使用mybatis的動態sql來完成 SQL 條件組合查詢(模糊查詢

對於一般的模糊查詢,沒有使用框架的連結部落格地址:點選這裡 對於mybatis,框架內部欸出了處理方式,即使用mybatis的內建標籤和OGNL表示式 mybatis在select,update,delete,insert等標籤中加入了 if choose (when, ot

######SQLcount查詢(不用子查詢條件加對了就行)(注意:條件位置可變化。)》分析領導的實現過程。心得筆記。

===》分析領導的實現過程。心得筆記。 #業務場景:不同企業下有各自的角色。角色下有許可權(角色:許可權=多對多,有中間表)和使用者(角色:使用者=一對多,使用者表有個角色id) #表結構:看檔案。 #需求:登入使用者所屬企業id, #1 SELECT a.PB_R

mybatis的條件查詢案例(動態sql

近日做系統,由於選擇了mybatis作為後端的ORM,所以在糾結到底用註解annotation的方式好呢,還是使用xml配置的方式。 為此,查詢了很多資料。感覺大部分都在推薦xml配置方式,並且我是誠心的去用annotation的,畢竟想順應時代嘛,結果死活就是找不到。 最

SQL之解決where 1=1 問題及優化條件查詢

Dao中實現多條件查詢。 public List<Product> query(String name ,BigDecimal minSalePrice, BigDecimal maxSalePrice){ QueryR

mybatis 動態sql語句實現條件查詢(foreach的使用)

一、前言 現有一個需求:實現多條件、不確定條件的搜尋功能。 類似於淘寶網進行搜尋商品的時候,可以在搜尋框進行模糊搜尋,同時可以進行條件篩選,例如想買一隻 口紅? 的時候,可以在搜尋框內輸入“口紅”,還可以選擇品牌、是否包郵、價格區間等等。。最後搜尋出來的結果是滿足所有篩選的

linq to sql 條件組合查詢

//一個條件一個條件串接 using System.Linq.Expressions; Expression<Func> exps = A => true; if (GroupId != "0") { Expression<Func>

sql拼接實現自由條件查詢及內容分頁總結

上週接受了一個新任務,實現cms新內容管理模組的多條件查詢及內容分頁 首先,我先實現了html頁面的隱藏與顯示條件輸入框。 網上一般的方法就是用js顯示或隱藏層實現 htmlz中:<input type="button" id="searchMore" value="

mybatis條件查詢,動態sql,模糊查詢

mapper.xml中:<select id="selectShareByName" resultMap="seeShare"> SELECT * FROM Diary <where> <!

php條件查詢

ech images put req com body 面積 elements wan 需要查詢的表格 代碼: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w

基於Struts2+Hibernate的DetachedCriteria條件查詢

img 類別 ota 配置 his property mat total ide 上一篇我們講訴了基於SSH框架利用Criteria的多條件查詢,這一篇我們就接著來看基於SSH框架利用DetachedCriteria的多條件查詢。 一、Jsp表單查詢頁 1 &

Sql條件排序

sel http dao 留言 .net get 創建 cat 暴力 多條件排序可以通過在order by語句後面使用case when then條件語句來實現。 select * from 表名 ORDER BY case when 條件 then 0 else 1 e

qt sql多重條件查詢簡便方法

where rom 轉載 brush qstring 解決方案 判斷語句 多重 oca 轉載請註明出處:http://www.cnblogs.com/dachen408/p/7457312.html 程序設計過程中,經常要涉及到查詢,並且有很多條件,且條件可為空,如果逐個判