1. 程式人生 > >用list集合做多條件中含日期範圍的查詢例項

用list集合做多條件中含日期範圍的查詢例項

  private DataTable Query()
        {
            string sql = @"select * from sccld_view  where 1=1 ";
            StringBuilder sb = new StringBuilder(sql);
            List<string> wheres = new List<string>();
            List<SqlParameter> listparameter = new List<SqlParameter>();

            if (dateEdit1.Text.Trim().Length > 0)
            {
                wheres.Add(" convert(varchar,cast(scrq as datetime),23) >= convert(varchar,cast(@qsrq as datetime),23)");
                listparameter.Add(new SqlParameter("@qsrq", dateEdit1.Text.Trim()));
            }

            if (dateEdit2.Text.Trim().Length > 0)
            {
                wheres.Add(" convert(varchar,cast(scrq as datetime),23) <= convert(varchar,cast(@jsrq as datetime),23)");
                listparameter.Add(new SqlParameter("@jsrq", dateEdit2.Text.Trim()));
            }

            if (txtJtbh.Text.Trim().Length > 0)
            {
                wheres.Add("  jtbh = @jtbh");
                listparameter.Add(new SqlParameter("@jtbh", txtJtbh.Text.Trim()));
            }

            if (txtScwlbh.Text.Trim().Length > 0)
            {
                wheres.Add("  scwlbh = @scwlbh ");
                listparameter.Add(new SqlParameter("@txtScwlbh", txtScwlbh.Text.Trim()));
            }

            if (txtWlmc.Text.Trim().Length > 0)
            {
                wheres.Add(@"  wlmc like '%'
[email protected]
+ '%'");
                listparameter.Add(new SqlParameter("@wlmc", txtWlmc.Text.Trim()));
            }

            if (wheres.Count > 0)
            {              
                string wh = string.Join(" and", wheres.ToArray());
                sb.Append(" and" + wh);
            }

            DataTable dt = ProcSqlHelper.ExecuteDatatable(sb.ToString(), CommandType.Text, listparameter.ToArray());
            if (dt.Rows.Count == 0) //或寫成 if(dt ==null) ,如果dt為空
            {
                dt.Rows.Add();   //給dt表中增加一空行
                return dt;
            }
            else   //資料來源dt不為空時
            {
                return dt;
            }
        }

相關推薦

list集合條件日期範圍查詢例項

  private DataTable Query()         {             string sql = @"select * from sccld_view  where 1=1 ";             StringBuilder sb = new StringBuilder(sq

Java 小案例 List集合傳遞學生資訊

import java.awt.BorderLayout; import java.awt.EventQueue; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; import java

java的list集合如何根據物件的某個欄位排序

集合提供了一個工具類:java.util.Collections 集合的工具類提供了若干靜態方法,可以方便我們隊集合做一系列操作,其中之一就是排序 需要注意,提供的方法只能對List集合排序,因為Set集合不全是有序的。 但是如果要求根據集合中某個元素的值排序,該如何進行呢? 程式碼

標籤的使用(List集合

如以下JSP程式碼: <%@ page contentType="text/html" pageEncoding="GBK"%> <%@ taglib uri="/WEB-INF/c.tld" prefix="c"%> <%@ page im

java8特性--list集合根據個欄位去重

專案需求描述 出於專案需要,有一個list,實體包含多個欄位,當其中兩個欄位相同均相同時,就認為list中的兩條記錄是一樣的,本來想通過分組實現,java8的分組只提供根據一個欄位分組,只好另尋他路,

oracle如何在where條件日期?

sql如下: SELECT * FROM T_QUERY_LOG t WHERE t.CREATEDATE >= to_date('2016-7-1','yyyy-mm-dd') AND  t.

spring boot 複雜條件分頁排序列表查詢

Controller層就不寫了,主要貼一下Service程式碼。 Service import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.

條件查表資料庫如何查詢

一、當遇到很多條件查詢時,如下圖情況: 二、資料庫為: 1.條件表: 2.產品與條件的關聯表 三、如何查表查出滿足多種條件的產品id(product_id) 方法一:若只有兩個條件的話,可以進行一次自錶鏈接,如果有三個條件,進行兩次自錶鏈接,若有多條件,該方法不

mysql筆記三之條件、模糊、範圍查詢

1.-- 條件查詢 滿足條件 就能夠進入結果集     -- 比較運算子         -- >         -- 查詢大於18歲的資

Oracle根據時間範圍查詢資料

1、當時間條件欄位為字串型別的時候,通過以下方法查詢資料: 1.1、SELECT * FROM 表名 t WHERE 1=1 AND to_date(t.tkdat,'yyyy/MM/dd') between to_date('2017/8/1','yyyy/MM/dd')

Lambda 表示式遍歷集合remove方法刪除list集合滿足條件的元素問題

一:迴圈遍歷list集合的四種方式 簡單for迴圈 iterator迴圈 增加for迴圈 Lambda表示式 二:四種遍歷方式的用法示例 //簡單for迴圈 List<SalaryAdjustmentFile> fileList = new ArrayList<>(

JAVA找出List集合重複次數最的資料和次數

import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Ent

去除List集合的重複值(四種好的方法)(基本資料型別可用)

最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另一個list集合,一種是用賦給set集合再返回給list集合。  但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序

移動List集合個元素的

/** * * @version 2018年2月7日 上午10:03:57 * @param input 元素集合 * @param selectedList 需要被移動的元素 * @param cursor 移動的位數 */ private void moveElement(Lis

Java:去除List集合的重複值(四種好的方法)

最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另一個list集合,一種是用賦給set集合再返回給list集合。  但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序

List集合刪除屬性(一個或者個屬性)相同的物件返回List且根據物件屬性進行排序輸出

    在資料庫中某些資料是重複的,通過mybatis對映成不同的物件。導致不同的物件包含相同的屬性。這也是資料重複的一種。下面是我在處理一個屬性或者多個屬性相同時採用的方法。當然你可以採用其他的方法。比較蠢的方法是兩個for迴圈。但是對於資料的刪除是很容易出現異常的。因此我

(好使)Java集合的Collections.sort方法對list排序的兩種方法

      ret = String.valueOf(m2.invoke(((E)b), null).toString().length()).compareTo(String.valueOf(m1.invoke(((E)a), null).toString().length()));          if

JavaJson字串直接轉換為物件的方法(包括List集合)

{"error":0,"status":"success","date":"2015-01-15","results":[{"currentCity":"南京","pm25":"83","index":[{"title":"穿衣","zs":"較冷","tipt":"穿衣指數","des":"建議著厚外套加毛

把一個List集合的資料分隔符分開,並以字串展示出來

public String listToString(ArrayList<String> stringList){ if (stringList == null) { return null; } StringBuilder re

去除List集合的重複值(四種好的方法)

最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另一個list集合,一種是用賦給set集合再返回給list集合。 但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用se