电竞比分网-中国电竞赛事及体育赛事平台

分享

DataTable的Select方法

 悟靜 2014-04-22

DataTable的Select方法

DataTable的Select方法

獲取 DataRow 對(duì)象的數(shù)組。

重載列表
名稱                    說(shuō)明
Select()               獲取所有 DataRow 對(duì)象的數(shù)組。
Select(String)      
                             按照主鍵順序(如果沒(méi)有主鍵,則按照添加順序)獲取與篩選條件相匹配的所有 DataRow 對(duì)象的數(shù)組。  

Select(String, String)                                           
                             獲取按照指定的排序順序且與篩選條件相匹配的所有 DataRow 對(duì)象的數(shù)組。
Select(String, String, DataViewRowState)
                              獲取與排序順序中的篩選器以及指定的狀態(tài)相匹配的所有 DataRow 對(duì)象的數(shù)組。

示例:

private void GetRows()
{
    // Get the DataTable of a DataSet.
    DataTable table = DataSet1.Tables["Suppliers"];
    DataRow[] rows = table.Select();

    // Print the value one column of each DataRow.
    for(int i = 0; i < rows.Length ; i++)
    {
        Console.WriteLine(rows[i]["CompanyName"]);
    }
}

//**********************************************************************************************************

private void GetRowsByFilter(){    DataTable table = DataSet1.Tables["Orders"];    // Presuming the DataTable has a column named Date.    string expression;    expression = "Date > #1/1/00#";    DataRow[] foundRows;    // Use the Select method to find all rows matching the filter.    foundRows = table.Select(expression);    // Print column 0 of each returned row.    for(int i = 0; i < foundRows.Length; i ++)    {        Console.WriteLine(foundRows[i][0]);    }}

//**********************************************************************************************************

private void GetRowsByFilter()
{
    DataTable table = DataSet1.Tables["Orders"];

    // Presuming the DataTable has a column named Date.
    string expression = "Date > '1/1/00'";

    // Sort descending by column named CompanyName.
    string sortOrder = "CompanyName DESC";
    DataRow[] foundRows;

    // Use the Select method to find all rows matching the filter.
    foundRows = table.Select(expression, sortOrder);

    // Print column 0 of each returned row.
    for(int i = 0; i < foundRows.Length; i ++)
    {
        Console.WriteLine(foundRows[i][0]);
    }
}

//**********************************************************************************************************

    private static void GetRowsByFilter()
    {
        DataTable customerTable = new DataTable("Customers");
        // Add columns
        customerTable.Columns.Add("id", typeof(int));
        customerTable.Columns.Add("name", typeof(string));

        // Set PrimaryKey
        customerTable.Columns[ "id" ].Unique = true;
        customerTable.PrimaryKey = new DataColumn[]
            { customerTable.Columns["id"] };

        // Add ten rows
        for(int id=1; id<=10; id++)
        {
            customerTable.Rows.Add(
                new object[] { id, string.Format("customer{0}", id) });
        }
        customerTable.AcceptChanges();

        // Add another ten rows
        for(int id=11; id<=20; id++) { customerTable.Rows.Add( new object[] { id, string.Format("customer{0}", id) });
        }

        string expression;
        string sortOrder;

        expression = "id > 5";
        // Sort descending by column named CompanyName.
        sortOrder = "name DESC";
        // Use the Select method to find all rows matching the filter.
        DataRow[] foundRows =
            customerTable.Select(expression, sortOrder,
            DataViewRowState.Added);

        PrintRows(foundRows, "filtered rows");

        foundRows = customerTable.Select();
        PrintRows(foundRows, "all rows");
    }

    private static void PrintRows(DataRow[] rows, string label)
    {
        Console.WriteLine("\n{0}", label);
        if(rows.Length <= 0)
        {
            Console.WriteLine("no rows found");
            return;
        }
        foreach(DataRow row in rows)
        {
            foreach(DataColumn column in row.Table.Columns)
            {
                Console.Write("\table {0}", row[column]);
            }
            Console.WriteLine();
        }
    }

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多