如何使用DataTable的Select方法

时间:2011-11-23 10:23:39

标签: c# ado.net datatable expression

请告诉我是否可以在DataTable的Select方法中使用“Not Like”运算符作为过滤表达式? 我的意思是这样的:

MyDataTable.Select("MyField Not Like '" + MyValue + "%'");

2 个答案:

答案 0 :(得分:1)

是的,这很有效。有关所有可能表达式的列表,请参阅http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx

此处还有一个展示此作品的示例程序。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable table = new DataTable();

            // Create the first column.
            DataColumn textColumn = new DataColumn();
            textColumn.DataType = System.Type.GetType("System.String");
            textColumn.ColumnName = "text";

            // Create the second column.
            DataColumn priceColumn = new DataColumn();
            priceColumn.DataType = System.Type.GetType("System.Decimal");
            priceColumn.ColumnName = "price";
            priceColumn.DefaultValue = 50;

            // Add columns to DataTable.
            table.Columns.Add(textColumn);
            table.Columns.Add(priceColumn);

            DataRow row = table.NewRow();
            row["text"] = "bc";
            table.Rows.Add(row);

            DataRow[] rows = table.Select("text not like 'a%'");
            Console.WriteLine(rows.Count());
        }
    }
}

答案 1 :(得分:-1)

你有没有试过这种表达方式????

filterexp = "fieldvalue!=value";
DataRow[] row = dt.Select(filterexp);

这可能对您有所帮助