Select Data Between Date

Posted at : Jun/13/2007
21872 Views

Kadang kala kita membutuhkan data untuk keperluan laporan dimana datanya di filter dalam interval tanggal tertentu. Ada beberapa cara untuk melakukan hal tersebut, diantaranya yaitu : Menggunakan filtering data langsung di SQL statementnya, atau filtering record via datasource yang digunakan secara offline (misalnya menggunakan DataTable).

Kalau kita gunakan SQL statement anda tinggal gunakan klausa "Where DateOrder Between...And...". Kalau kita gunakan DataTable sebagai sumber data bagaimana caranya? Yang perlu dilakukan hanyalah dengan menggunakan properti RowFilter yang di assign dengan value "OrderDate >= ... And OrderDate <= ..." dengan asumsi kolom yang digunakan untuk pencarian data yaitu kolom OrderDate.

Dalam contoh ini saya menggunakan tabel Orders yang terdapat di database Northwind. Di form yang digunakan ditambahakan dua buah DateTimePicker untuk memilih tanggal order yang akan ditampilkan. Kolom yang digunakan untuk pencarian data yaitu kolom OrderDate. Let's see the code below :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace CrystalReportsApp
{
public partial class frmOrdersReport : Form {
DataTable dtOrders = new DataTable();
rptOrders rpt = new rptOrders();

public frmOrdersReport()
{
InitializeComponent();
}

private void SetReportDataSource()
{
using (SqlConnection sqlConn = new SqlConnection(
@"Database=Northwind2005;Uid=sa;Pwd=sql2005;Server=.\SQL2005"))
{
using (SqlCommand sqlCmd = new SqlCommand())
{
sqlCmd.CommandType = CommandType.Text;
sqlCmd.Connection = sqlConn;
sqlCmd.CommandText = "Select * From Orders";

if (sqlConn.State == ConnectionState.Closed) sqlConn.Open();
dtOrders.Load(sqlCmd.ExecuteReader());

rpt.SetDataSource(dtOrders);
crystalReportViewer1.ReportSource = rpt;
}
}
}

private void frmOrdersReport_Load(object sender, EventArgs e)
{
SetReportDataSource();
}

private void btnSeeOrders_Click(object sender, EventArgs e)
{
string strDate1 = dateTimePicker1.Value.ToString();
string strDate2 = dateTimePicker2.Value.ToString();

dtOrders.DefaultView.RowFilter = "OrderDate >= '" + strDate1 +
"' And OrderDate <= '" + strDate2 + "'";

rpt.SetDataSource(dtOrders.DefaultView);
crystalReportViewer1.ReportSource = rpt;
}

}
}


InfoEbook-ebook yang tersedia yang dapat dipesan secara langsung atau melalui google play store.



ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Co-Founder & IT Trainer at Native Enterprise | Microsoft Azure Data Scientist | IBM RAG & Agentic AI | IBM Data Science & Data Analyst | Python Certified (PCEP, PCAP) | MOS, MTA, Xamarin Certified, ex MCT | ex MVP

CERTIFICATIONS

Microsoft Certified Associate
IBM RAG and Agentic AI Professional
IBM Data Science Professional IBM Data Analyst Professional
PCAP Associate Python Programmer Certified PCEP Entry Level Python Programmer Certified
Xamarin Certified
MOS 2007
MCPD MCTS
MCAD.NET

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  X Twitter Facebook  Instagram  LinkedIn

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2026   Rully Yulian MF   All rights reserved.