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에 있는 데이터가 증가하면 행 및 열 필터링과 관련된 유일한 구원자는 DataTable의 필터입니다.
C#에서 DataTable을 필터링하는 작업 패턴을 확인해 보겠습니다.
다음은 C# DataTable 필터의 예입니다.
이 프로그램은 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]); } } }
출력:
이 프로그램은 출력에 표시된 대로 내림차순으로 정렬한 후 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]); } }
출력:
이 프로그램은 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"]); } } }
출력:
이 프로그램은 참 또는 거짓으로 평가되지 않고 원하지 않는 불쾌한 오류를 발생시키는 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); } }
출력:
참고: 위의 데이터 테이블을 평가하고 값을 평가하여 데이터 테이블을 필터링하는 상황을 극복하려면 다음 문 세트를 적절하게 포함시키세요.
문에는 다음과 같은 줄이 포함됩니다.
DataRow[] 행 = table.Select(“Anusua > 1”);
System.Console.WriteLine(rows.Length);
위의 두 줄은 앞서 언급한 예와 같이 select 문을 교체하여 올바르게 실행되면 필요한 출력을 제공합니다.
출력은 다음과 같습니다.
이 프로그램은 필터링할 데이터 테이블을 보여주고 합계로 생성된 객체 내부에 있는 합계 연산을 수행하며, 이로부터 필요한 합계를 얻어 출력에 표시된 대로 표시합니다.
코드:
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# 및 기타 프로그래밍 언어의 DataTable은 막대한 양의 데이터를 처리할 때 중추적인 역할을 합니다. 데이터베이스 및 그 후속 하위 집합에 대한 필터링도 데이터베이스에서 데이터를 가져오고 검색하는 측면에서 데이터베이스가 항상 최적화되고 효율적이어야 하므로 중요한 역할을 합니다.
위 내용은 C# 데이터테이블 필터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!