c# - कैसे मैं कॉलम मूल्य से मेरी DataTable फ़िल्टर कर सकते हैं?




asp.net filter (3)

आप बस DataTable का उपयोग करें.इस तरह चुनें:

 foundRows = table.Select("ACTIVATE = '1'");

यह डेटारॉ ऑब्जेक्ट की एक सरणी देता है।

मेरे पास DataTable के बारे में एक सवाल है मैं डेटाबेस से DataTable प्राप्त करता हूं, और इनमें से कोई एक स्तंभ या तो एक या एक 0 होता है। अब मैं उस कॉलम में 1 के 1 मान के साथ केवल पंक्तियाँ प्राप्त करना चाहता हूं।

स्तंभ का नाम ACTIVATE

यहां मेरा DataTable :

DataTable table = new DataTable(TABLE);

//How can I filter here so ACTIVATE == 1?

adapter.Fill(table);

connection.Open();

selectcommand.ExecuteReader();

return table;

एसक्यूएल (पसंदीदा) के माध्यम से

SELECT * FROM dbo.Table WHERE ACTIVATE = 1

Linq-To-Datatable (मेमोरी में):

DataTable tblFiltered = table.AsEnumerable()
                             .Where(r => r.Field<int>("ACTIVATE") == 1)
                             .CopyToDataTable();

यदि आप अभी भी नेट पर हैं, तो आप DataTable.Select उपयोग कर सकते हैं। चयन करें:

DataRow[] filteredRows = table.Select("ACTIVATE = 1");

इसके अलावा, आपको तालिका भरने के लिए selectcommand.ExecuteReader() आवश्यकता नहीं है।

DataTable table = new Datatable();
using(var con = new SqlConnection(connectionString))
using(var cmd = new SqlCommand("SELECT * FROM dbo.Table WHERE ACTIVATE = 1", con))
using(var da = new SqlDataAdapter(cmd))
{
    da.Fill( table );
}

DataTable results = table.Select("ACTIVATE = 1").CopyToDataTable();

यह आपको चाहिए कि क्या करना चाहिए, मूल रूप से आप एसक्यूएल की तरह डाटा टेबल की क्वेरी कर सकते हैं।





adapter