>  기사  >  백엔드 개발  >  C# 데이터테이블 필터

C# 데이터테이블 필터

WBOY
WBOY원래의
2024-09-03 15:33:17476검색

C# DataTable은 데이터 테이블과 관련된 대부분의 개체 및 데이터에 액세스하는 데 사용되는 중심 개체입니다. 데이터 테이블은 방대한 양의 데이터로 구성되어 있고, 정리된 형태가 아니기 때문에 필터 적용이 필요합니다. C#과 관련된 DataTable의 필터링 속성을 만족시키기 위해서는 간소화된 C# 데이터베이스 필터를 통해 데이터를 정렬하고 정렬하는 필터를 구해야 합니다.

구문:

C# DataTable 필터에는 특정 구문이 없지만 다음과 같이 표시되는 열과 관련된 필터 함수를 사용합니다.

dataView.RowFilter = "s_id=180";

리터럴과 관련된 DataTable 필터 함수는 다음과 같이 표현됩니다.

dataView.RowFilter = "s_name = 'anu'"

숫자 값과 관련된 DataTable 필터 함수는 다음과 같이 표현됩니다.

dataView.RowFilter = "dt_of_brth = 1987"

C#에서 DataTable을 필터링하는 방법은 무엇입니까?

C#의 필터 기능은 데이터 및 관련 작업의 수가 많을 때 주로 사용됩니다. DataTable에 있는 데이터가 증가하면 행 및 열 필터링과 관련된 유일한 구원자는 DataTable의 필터입니다.

C#에서 DataTable을 필터링하는 작업 패턴을 확인해 보겠습니다.

  • C#의 DataTable 필터링은 고유하지 않으며 다른 유형의 필터링 기술과 다릅니다. 그래도 다양한 방법으로 달성할 수 있습니다.
  • DataTable을 필터링하는 다양한 방법에는 필요한 행이나 열을 선택한 다음 이를 기반으로 필터를 적용하는 select(String) 메서드가 포함됩니다.
  • Select, Where, AND, OR, NOT 논리 연산자를 사용하여 필터링할 수 있으며 그 위에 값을 적용할 수도 있습니다.
  • 데이터 테이블에 있는 데이터 행과 열도 정렬 방법을 사용하여 필요에 따라 데이터를 오름차순 또는 내림차순 형식으로 정렬하고 정렬합니다.
  • 열거 가능한 문자열을 선택하면 객체를 저장할 때 유용하며, 계산을 기반으로 필터 및 순서 연산을 적용하면 원하는 결과를 얻는 데 도움이 됩니다.
  • 관련 문자열이 포함된 DataTable의 평가도 true 또는 false 반환 함수와 관련하여 주의를 기울여야 합니다.

C# 데이터 테이블 필터의 예

다음은 C# DataTable 필터의 예입니다.

예시 #1

이 프로그램은 AND, OR 및 NOT 조건이 있는 각 필터 문으로 select 문을 사용하여 행 데이터를 필터링하고 가져오는 방법을 보여 주며 언급된 숫자보다 크지만 다른 상한보다 작은 숫자를 반환합니다. 출력됩니다.

코드:

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Data_tbl_Demo
{
public static void Main()
{
DataTable tbl_1 = new DataTable("Creation of Data for players");
tbl_1.Columns.Add(new DataColumn("Size_of_team", typeof(int)));
tbl_1.Columns.Add(new DataColumn("Team_work", typeof(char)));
tbl_1.Rows.Add(50, 'c');
tbl_1.Rows.Add(100, 'c');
tbl_1.Rows.Add(250, 'd');
tbl_1.Rows.Add(567, 'd');
tbl_1.Rows.Add(123, 'd');
DataRow[] rslt = tbl_1.Select("Size_of_team >= 123 AND Team_work = 'd'");
foreach (DataRow row in rslt)
{
Console.WriteLine("{0}, {1}", row[0], row[1]);
}
}
}

출력:

C# 데이터테이블 필터

예시 #2

이 프로그램은 출력에 표시된 대로 내림차순으로 정렬한 후 DataRow 개체의 배열을 반환하는 데 사용되는 DataTable 필터링 표현식을 보여주는 데 사용됩니다.

코드:

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Data_tbl_Demo
{
public static void Main()
{
DataTable tbl2_2 = new DataTable("Orders_plcd");
tbl2_2.Columns.Add("Order_ID", typeof(Int32));
tbl2_2.Columns.Add("Order_Quantity", typeof(Int32));
tbl2_2.Columns.Add("Company_Name", typeof(string));
tbl2_2.Columns.Add("Date_on_day", typeof(DateTime));
DataRow nw_row = tbl2_2.NewRow();
nw_row["Order_ID"] = 1;
nw_row["Order_Quantity"] = 5;
nw_row["Company_Name"] = "New_Company_Nm";
nw_row["Date_on_day"] = "2014, 5, 25";
tbl2_2.Rows.Add(nw_row);
DataRow nw_row2 = tbl2_2.NewRow();
nw_row2["Order_ID"] = 2;
nw_row2["Order_Quantity"] = 6;
nw_row2["Company_Name"] = "New_Company_Nm2";
tbl2_2.Rows.Add(nw_row2);
DataRow nw_row3 = tbl2_2.NewRow();
nw_row3["Order_ID"] = 3;
nw_row3["Order_Quantity"] = 8;
nw_row3["Company_Name"] = "New_Company_Nm3";
tbl2_2.Rows.Add(nw_row3);
string exprsn = "Date_on_day = '5/25/2014' or Order_ID = 2";
string sort_Order = "Company_Name DESC";
DataRow[] sorted_Rows;
sorted_Rows = tbl2_2.Select(exprsn, sort_Order);
for (int i = 0; i < sorted_Rows.Length; i++)
Console.WriteLine(sorted_Rows[i][2]);
}
}

출력:

C# 데이터테이블 필터

예시 #3

이 프로그램은 DataTable이 최신 형식의 날짜를 갖고 출력에 표시된 대로 DateTime을 사용하여 필터링되는 두 개의 일치하는 행을 찾는 선택 쿼리를 보여줍니다.

코드:

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Using_Date_Time
{
public static void Main()
{
DataTable tbl_dt_time = new DataTable("Widgets");
tbl_dt_time.Columns.Add(new DataColumn("rw_ID", typeof(int)));
tbl_dt_time.Columns.Add(new DataColumn("Date", typeof(DateTime)));
tbl_dt_time.Rows.Add(180, new DateTime(2003, 1, 1));
tbl_dt_time.Rows.Add(123, new DateTime(2000,1, 1));
tbl_dt_time.Rows.Add(350, new DateTime(2001,1, 1));
DataRow[] filterd_result = tbl_dt_time.Select("Date > #6/1/2001#");
foreach (DataRow row in filterd_result)
{
Console.WriteLine(row["rw_ID"]);
}
}
}

출력:

C# 데이터테이블 필터

예시 #4

이 프로그램은 참 또는 거짓으로 평가되지 않고 원하지 않는 불쾌한 오류를 발생시키는 A와 같은 값을 선택하여 유효하지 않은 표현식을 보여줍니다.

코드:

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Using_Date_Time
{
public static void Main()
{
DataTable table = new DataTable();
table.Columns.Add("Anusua", typeof(int));
table.Rows.Add(1);
table.Rows.Add(2);
table.Rows.Add(3);
table.Rows.Add(4);
table.Rows.Add(5);
DataRow[] rows = table.Select("Anusua");
System.Console.WriteLine(rows.Length);
}
}

출력:

C# 데이터테이블 필터

참고: 위의 데이터 테이블을 평가하고 값을 평가하여 데이터 테이블을 필터링하는 상황을 극복하려면 다음 문 세트를 적절하게 포함시키세요.

문에는 다음과 같은 줄이 포함됩니다.

DataRow[] 행 = table.Select(“Anusua > 1”);

System.Console.WriteLine(rows.Length);

위의 두 줄은 앞서 언급한 예와 같이 select 문을 교체하여 올바르게 실행되면 필요한 출력을 제공합니다.

출력은 다음과 같습니다.

C# 데이터테이블 필터

예시 #5

이 프로그램은 필터링할 데이터 테이블을 보여주고 합계로 생성된 객체 내부에 있는 합계 연산을 수행하며, 이로부터 필요한 합계를 얻어 출력에 표시된 대로 표시합니다.

코드:

using System;
using System.Data;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Data.DataSetExtensions;
public class Program
{
public static void Main()
{
DataTable dt_4 = new DataTable();
dt_4.Columns.Add("emp_Id",typeof(int));
dt_4.Columns.Add("customer_Name",typeof(string));
dt_4.Columns.Add("Amount_type",typeof(decimal));
dt_4.Rows.Add(1,"A",50);
dt_4.Rows.Add(2,"b",68);
dt_4.Rows.Add(3,"c",22);
dt_4.Rows.Add(4,"d",null);
decimal dec_ml = 0;
object sum_Obj;
sum_Obj = dt_4.Compute("Sum(Amount_type)", string.Empty);
decimal total = dt_4.AsEnumerable().Where(r => !r.IsNull("Amount_type") && decimal.TryParse(r["Amount_type"].ToString(), out dec_ml)).Sum(r => dec_ml);
Console.WriteLine(sum_Obj);
Console.WriteLine(total);
}
}

출력:

C# 데이터테이블 필터

결론

C# 및 기타 프로그래밍 언어의 DataTable은 막대한 양의 데이터를 처리할 때 중추적인 역할을 합니다. 데이터베이스 및 그 후속 하위 집합에 대한 필터링도 데이터베이스에서 데이터를 가져오고 검색하는 측면에서 데이터베이스가 항상 최적화되고 효율적이어야 하므로 중요한 역할을 합니다.

위 내용은 C# 데이터테이블 필터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C# 데이터테이블다음 기사:C# 데이터테이블