如何使用DataTable的Select方法

发布于 2024-12-17 12:10:44 字数 157 浏览 4 评论 0原文

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

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

Please tell me if i can use "Not Like" Operator in Select method of DataTable as filter expression?
I mean something like this:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凡尘雨 2024-12-24 12:10:44

是的,这有效。有关所有可能表达式的列表,请参阅 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());
        }
    }
}

Yes, this works. For a list of all possible expressions see http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx

Here also is a sample program demonstrating this works.

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());
        }
    }
}
羞稚 2024-12-24 12:10:44

你尝试过这样的表达吗????

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

这可能对你有帮助

Did you try this kind of expression????

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

This may help you

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文