`

DataTable中的select()用法(转)

    博客分类:
  • c#
阅读更多
1.在DataTable中执行DataTable.Select("条件")返回DataTable;

// <summary>
// 执行DataTable中的查询返回新的DataTable
// </summary>
// dt 是源数据DataTable
// condition 是查询条件

DataTable newdt = new DataTable();
newdt = dt.Clone(); // 克隆dt 的结构,包括所有 dt 架构和约束,并无数据;
DataRow[] rows = dt.Select(conditions); // 从dt 中查询符合条件的记录;
foreach (DataRow row in rows)  // 将查询的结果添加到dt中;
{
       newdt.Rows.Add(row.ItemArray);
}

有网友说也可以这样:(大家可以试试)

DataTable newdt = new DataTable();
newdt=dt.Clone();
DataRow[] dr = dt.Select(condition);
for(int i=0;i<dr.Length;i++)
{
newdt.ImportRow((DataRow)dr[i]);
}

2.关于DataTable.Select();

Select方法:  
  Select();//全部查出来  
  Select(过滤条件);//根据过滤条件进行过滤,如Select("columnname1   like   '%xx%'");  
  Select(过滤条件,排序字段);//过滤,并排序,如Select("columnname1   like   '%xx%'",columnname2);

完成一个查询,返回一个DataTable后,很多时候都想在查询结果中继续搜索。这时可以使用DataTable.Select方法对结果进行再查询。
Select方法有4个重载,我们经常用到的就是DataTable.Select(String) ;

下面就说说带一个参数的DataTable.Select(String):
这个String的参数是查询的限定式。相当于SQL查询语言中的WHERE语句(不含WHERE),其语法符合SQL语言语法。 (网友的说法)我觉得就是类似sql的语法而已。

不过我试了试,不支持BETWEEN AND,举个成功的例子:

//FromTime 和ToTime 是两个DateTime类型的变量;occurTime是dTable里面的列名;

DataRow[] datarows = dTable.Select("occurTime >= '" + FromTime + "' and occurTime <= '" + ToTime+"'");

DataTable.Select()方法里面支持简单的过滤和排序,不支持复杂的条件过滤和排序。里面的字符串必须是列名和数据,以及>,<,=,<>等关系运算符。举几个例子:

DataRow[]   row   =   Detailtb.Select("WZMC='"+MaterialName+"' and   CZ='"+MaterialTexture+"   and   GG='"+MaterialSpecs+"'");   

DataTable.Select("City Like 'B%'");

DataTable.Select("name='" + a +"'");

一定要注意单引号的问题;我之前就是把变量用双引号括起来了,一直出错,后来在网上查,发现要先有双引号,再用单引号;即‘“变量”’;
分享到:
评论
1 楼 浪子秋水 2013-12-30  
好!!

相关推荐

    使用DataTable.Select 方法时,特殊字符的转义方法分享

    在C#编程中,`DataTable.Select`方法是一个非常实用的功能,它允许我们根据特定的条件查询数据表中的行。然而,当我们的查询条件包含特殊字符时,可能会导致解析错误或不符合预期的结果。本文将深入探讨如何在使用`...

    把DataReader转换成DataTable的方法

    - 如果数据表结构固定且已知,可以直接定义DataTable的列结构,无需使用`GetSchemaTable()`方法。 通过以上步骤和代码实现,我们可以有效地将DataReader转换为DataTable,以便于后续的数据处理和展示。

    UiPath Datatable Select.docx

    UiPath 中的数据表处理是一个非常重要的 topic,今天我们将介绍如何使用 UiPath Datatable Select 对数据表进行筛选。 UiPath 提供了 Filter data Table 活动,可以筛选某列某行,以及对行的筛选,但今天我们将介绍...

    创建想要的XML格式和读取XML,DataTable转XML和XML转DataTable

    以上内容详细介绍了如何在.NET环境中利用XML和DataTable进行数据操作,无论是创建XML文档、读取XML数据,还是在两者之间进行转换,都是非常实用的技巧。这些技术广泛应用于Web服务、数据存储和跨系统数据交换等场景...

    VB.NET的DataTable常用方法总结

    使用`Merge`方法可以将两个`DataTable`合并成一个,其中所有列都会被添加到目标表中,而源表的数据会附加到目标表现有数据之后。 ```vb.net DataTable a = ...; DataTable b = ...; a.Merge(b); ``` #### 八、计算...

    asp.net中DataTable的用法

    ### ASP.NET中DataTable的使用详解 #### 一、概述 在ASP.NET开发中,`DataTable`是处理数据的一种非常强大的工具。它提供了类似数据库表的数据结构,并且支持各种操作如添加、删除、筛选和排序等。本文将详细介绍...

    在DataTable中执行Select(条件)后,返回DataTable的方法

    网上看到一个解决方法,感觉不错: private DataTable GetNewDataTable(DataTable dt,string condition) { DataTable newdt = new DataTable(); newdt=dt.Clone(); DataRow[] dr = dt.Select(condition...

    DataTable的常见使用Demo

    下面将详细介绍`DataTable`的常见使用、自定义方法、`Select`方法的四种重载,以及在项目中如何进行筛选和排序。 首先,让我们了解`DataTable`的基本用法。`DataTable`对象通常在内存中创建和管理,可以通过`...

    基于dataTable的查询

    接下来,通过Select(condition)方法获取满足特定条件的行,并使用ImportRow()方法将这些行导入到新的DataTable中。在这个例子中,查询条件是"教师证号_ like '%"+textBox1.Text.Trim()+"%'",这意味着我们正在寻找...

    在DataTable中执行Select(&quot;条件&quot;)后,返回DataTable的方法

    在上述方法中,我们首先创建了一个新的DataTable实例,并使用Clone方法克隆了原DataTable的结构。这样做可以保证新***ble的列结构与原DataTable相同,但不包含任何数据。然后,我们通过Select方法得到了所有满足条件...

    把DataView转换成DataTable

    使用 `Select` 方法从 `DataTable` 对象 `dtAll` 中筛选出符合条件的数据行,并将结果存储在 `DataRow[]` 数组 `drs` 中。 ##### 填充 DataTable ```csharp if (dts != null) { dts.Columns.Clear(); // 清空列 ...

    Vb.netDataTable排序、检索、合并[归纳].pdf

    在上面的代码中,我们使用Select方法来实现查询操作,并将查询结果存储到一个新的DataTable中,以便更好地处理和展示数据。 本文对DataTable的排序、检索和合并等操作进行了详细的介绍,并提供了相关的代码实现。...

    datatable赋值,初学者适用

    如果需要一次性添加多行数据,可以使用`Load`方法,配合`DataSet`和`DataTableAdapter`来读取数据库中的数据。例如,从SQL Server获取数据: ```csharp using (SqlConnection connection = new SqlConnection...

    DataTable,DataView和DataGrid用法教程:DataTable,DataView和DataGrid中一些容易混淆的概念,详细讲解了它的区别和用法。

    例如,你可以创建一个DataTable,然后通过AddRow方法添加数据行,或者使用Select方法来筛选满足特定条件的行。 `DataView`则是DataTable的一个视图,它提供了对DataTable数据的不同展示方式。DataView允许动态地...

    DataRow 传换成 DataTable

    接下来,可以使用`ImportRow`方法将每个`DataRow`导入到新创建的`DataTable`中: ```csharp foreach (DataRow row in dr) { dtNew.ImportRow(row); } ``` 这里的`ImportRow`方法能够将一个`DataRow`复制到当前`...

    DataTable分类求和,分类汇总,排序

    在DataTable中,可以使用LINQ(Language Integrated Query)进行复杂的分组和聚合操作。例如,`dt.AsEnumerable().GroupBy(row =&gt; row.Field("GroupName")).Select(group =&gt; new { GroupName = group.Key, Sum = ...

    ado.net中的datatable代码

    在了解了这些基本概念后,你可以根据具体需求对DataTable进行更复杂的操作,如加入约束(Primary Key、Foreign Key等)、处理数据事件(如RowChanging、RowDeleted等),以及使用DataTable的Select方法进行数据过滤...

    C# DataTable数据控件经典用法及Acess数据分页

    本文将深入探讨C#中的DataTable数据控件的经典用法,以及如何结合Access数据库实现数据分页和时间格式处理。 首先,`DataTable`是System.Data命名空间中的一个类,它提供了一个内存中的数据集,可以存储和操作数据...

    silverlight下的DataTable

    开发者可能需要实现连接数据库、执行SQL查询、填充自定义DataTable以及将DataTable中的数据保存回数据库的方法。 文件列表中只有一个名为“Data”的文件,这可能是包含示例数据、测试代码或者是关于如何使用自定义...

Global site tag (gtag.js) - Google Analytics