标签: datatable

关于DataTable的LINQ查询

我正在尝试对DataTable对象执行LINQ查询,奇怪的是我发现在DataTables上执行此类查询并不简单.例如:

var results = from myRow in myDataTable
where results.Field("RowNo") == 1
select results;
Run Code Online (Sandbox Code Playgroud)

这是不允许的.我如何得到这样的工作?

我很惊讶DataTables上不允许LINQ查询!

.net c# linq datatable .net-3.5

997
推荐指数
21
解决办法
88万
查看次数

将通用List/Enumerable转换为DataTable?

我有几个返回不同通用列表的方法.

在.net中存在任何类静态方法或将任何列表转换为数据表的任何东西?我唯一可以想象的是使用Reflection来做到这一点.

如果我有这个:

List<Whatever> whatever = new List<Whatever>();
Run Code Online (Sandbox Code Playgroud)

(下一个代码当然不起作用,但我想有可能:

DataTable dt = (DataTable) whatever;
Run Code Online (Sandbox Code Playgroud)

c# generics datatable list

245
推荐指数
13
解决办法
40万
查看次数

我应该Dispose()DataSet和DataTable吗?

DataSet和DataTable都实现了IDisposable,因此,通过传统的最佳实践,我应该调用它们的Dispose()方法.

但是,从我到目前为止所读到的,DataSet和DataTable实际上并没有任何非托管资源,因此Dispose()实际上并没有做太多.

另外,我不能只使用,using(DataSet myDataSet...)因为DataSet有一组DataTables.

所以,为了安全起见,我需要遍历myDataSet.Tables,处理每个DataTable,然后处理DataSet.

那么,在我的所有DataSet和DataTables上调用Dispose()是否值得麻烦?

附录:

对于那些认为应该处理DataSet的人:通常,处理的模式是使用usingor try..finally,因为你想保证将调用Dispose().

然而,这对于一个集合来说真的很快.例如,如果对Dispose()的一个调用抛出异常,你会怎么做?你吞下它(这是"坏"),以便你可以继续处理下一个元素?

或者,你是否建议我只调用myDataSet.Dispose(),而忘记在myDataSet.Tables中处理DataTables?

datatable dispose idisposable using dataset

187
推荐指数
7
解决办法
10万
查看次数

如何在C#中创建DataTable以及如何添加行?

如何在C#中创建DataTable?

我喜欢这样:

 DataTable dt = new DataTable();
 dt.clear();
 dt.Columns.Add("Name");
 dt.Columns.Add("Marks");
Run Code Online (Sandbox Code Playgroud)

如何查看DataTable的结构?

现在我想添加ravi for Name500 for Marks.我怎样才能做到这一点?

c# datatable ado.net

181
推荐指数
11
解决办法
61万
查看次数

如何将DataTable转换为通用列表?

目前,我正在使用:

DataTable dt = CreateDataTableInSomeWay();

List<DataRow> list = new List<DataRow>(); 
foreach (DataRow dr in dt.Rows)
{
    list.Add(dr);
}
Run Code Online (Sandbox Code Playgroud)

有更好的/神奇的方式吗?

c# generics datatable

174
推荐指数
13
解决办法
47万
查看次数

如何将CSV文件读入.NET Datatable

如何将CSV文件加载到a中System.Data.DataTable,根据CSV文件创建数据表?

常规的ADO.net功能是否允许这样做?

.net c# csv datatable

161
推荐指数
7
解决办法
35万
查看次数

如何选择数据表中的不同行并存储到数组中

我有一个数据集objds.objds包含一个名为Table1的表.Table1包含名为ProcessName的列.这个ProcessName包含重复的名称.所以我想只选择不同的名称.这是可能的.

  intUniqId[i] = (objds.Tables[0].Rows[i]["ProcessName"].ToString());
Run Code Online (Sandbox Code Playgroud)

c# datatable select distinct

158
推荐指数
9
解决办法
56万
查看次数

将行从一个Datatable复制到另一个DataTable?

如何将特定行从DataTable复制到c#中的另一个Datable?会有不止一行.

c# datatable

152
推荐指数
7
解决办法
33万
查看次数

检查SQL Server表的更改?

如何在不使用触发器或以任何方式修改数据库结构的情况下监视SQL Server数据库以查找表的更改?我首选的编程环境是.NET和C#.

我希望能够支持任何SQL Server 2000 SP4或更新版本.我的应用程序是另一家公司产品的螺栓式数据可视化.我们的客户群数以千计,因此我不想在每次安装时都要求我们修改第三方供应商的表.

通过"更改表",我的意思是更改表数据,而不是更改表结构.

最终,我希望更改在我的应用程序中触发事件,而不是必须间隔检查更改.


根据我的要求(没有触发器或模式修改,SQL Server 2000和2005),最好的行动方案似乎是BINARY_CHECKSUMT-SQL中使用该函数.我计划实施的方式是这样的:

每隔X秒运行以下查询:

SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*))
FROM sample_table
WITH (NOLOCK);
Run Code Online (Sandbox Code Playgroud)

并将其与存储值进行比较.如果值已更改,请使用查询逐行遍历表:

SELECT row_id, BINARY_CHECKSUM(*)
FROM sample_table
WITH (NOLOCK);
Run Code Online (Sandbox Code Playgroud)

并将返回的校验和与存储的值进行比较.

sql sql-server datatable rdbms

137
推荐指数
8
解决办法
6万
查看次数

对数据表中的行进行排序

我们在a中有两列DataTable,如下所示:

COL1   COL2
Abc    5
Def    8
Ghi    3
Run Code Online (Sandbox Code Playgroud)

我们正在尝试这一排序datatable基于COL2按递减顺序.

COL1            COL2
ghi             8
abc             4
def             3
jkl             1
Run Code Online (Sandbox Code Playgroud)

我们试过这个:

ft.DefaultView.Sort = "COL2 desc";
ft = ft.DefaultView.ToTable(true);
Run Code Online (Sandbox Code Playgroud)

但是,不使用a DataView,我们想要对DataTable自己进行排序,而不是DataView.

c# sorting datatable

137
推荐指数
9
解决办法
44万
查看次数

标签 统计

datatable ×10

c# ×8

.net ×2

generics ×2

.net-3.5 ×1

ado.net ×1

csv ×1

dataset ×1

dispose ×1

distinct ×1

idisposable ×1

linq ×1

list ×1

rdbms ×1

select ×1

sorting ×1

sql ×1

sql-server ×1

using ×1