问题标签 [datatable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
69971 浏览

检查对 SQL Server 表的更改?

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

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

对表的更改”是指对表数据的更改,而不是对表结构的更改。

最终,我希望更改触发我的应用程序中的事件,而不是必须每隔一段时间检查更改。


考虑到我的要求(没有触发器或架构修改,SQL Server 2000 和 2005),最好的做法似乎是使用T-SQLBINARY_CHECKSUM中的函数。我计划实施的方式是这样的:

每 X 秒运行一次以下查询:

并将其与存储的值进行比较。如果值已更改,请使用以下查询逐行浏览表:

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

0 投票
7 回答
122404 浏览

数据表与数据集

我目前使用 DataTable 从可以在我的代码中使用的数据库中获取结果。

但是,网络上的许多示例显示使用 DataSet 并通过集合方法访问表。

使用 DataSets 或 DataTables 作为 SQL 结果的存储方法是否有任何优势,无论是性能方面还是其他方面?

0 投票
22 回答
1038078 浏览

对 DataTable 的 LINQ 查询

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

这是不允许的。我怎样才能得到这样的工作?

我很惊讶数据表上不允许使用 LINQ 查询!

0 投票
8 回答
56129 浏览

在 WCF/.NET 中返回数据表

我有一个 WCF 服务,我想从中返回一个 DataTable。我知道这通常是一个备受争议的话题,就返回 DataTables 是否是一个好习惯而言。让我们把它放在一边。

当我从头开始创建 DataTable 时,如下所示,没有任何问题。该表已创建、填充并返回给客户端,一切正常:

但是,我一出去打数据库创建表,如下所示,我得到一个 CommunicationException“底层连接已关闭:连接意外关闭。”

该表在服务器端正确填充。它比我循环并返回的测试表要小得多,而且查询小而快——这里没有超时或大数据传输的问题。正在使用相同的确切功能和 DataContracts/ServiceContracts/BehaviorContracts。

为什么表格的填充方式会对表格成功返回有任何影响?

0 投票
7 回答
1400 浏览

DataTable 到可读的文本字符串

这可能有点愚蠢,但我需要通过文本电子邮件发送 DataTable 的内容(未知列、未知内容)。基本思想是遍历行和列,并使用 .ToString() 将所有单元格内容输出到 StringBuilder 中。

格式化是一个大问题。关于如何以文本格式使其看起来“可读”的任何提示/想法?

我正在考虑用空格“填充”每个单元格,但我还需要将一些单元格拆分为多行,这使得 StringBuilder 方法有点混乱(因为第一列的第二行文本在第一行之后最后一列中的文本行等)

0 投票
3 回答
4907 浏览

在绑定到 DataGridView 的 DataTable 上触发更新

在我的 .NET/Forms 应用程序中,我有一个绑定到 DataTable 的 DataGridView。用户通过双击选择 DataGridView 的一行并与应用程序进行一些交互。之后,该行的内容以编程方式更新。

当用户选择新行时,框架会自动将前一行的更改传播到 DataTable。如何从我的代码中触发此更新,以便用户不必选择新行?

0 投票
4 回答
1064 浏览

我应该在我的 C# 应用程序中使用多少个 DataTable 对象?

我是一位经验丰富的程序员,使用传统(但面向对象)开发工具并切换到 C#/.Net。我正在使用 SQL Server CE 3.5 编写一个小型单用户应用程序。我已经阅读了概念数据集和相关文档,并且我的代码有效。

现在我想确保我做的“正确”,从经验丰富的 .Net/SQL Server 编码人员那里获得一些反馈,这些反馈是你从阅读文档中得不到的。

我注意到我在几个地方有这样的代码:

在单用户应用程序中,您是否通常只在应用程序启动时执行此操作,为每个表实例化一个 DataTable 对象,然后为其存储一个引用,以便您只使用已填充数据的单个对象?这样,您将只能从数据库中读取一次数据,而不是可能多次读取数据。或者这个开销太小以至于无关紧要(加上大表可能会适得其反)?

0 投票
4 回答
4946 浏览

读取数据网格视图

我从数据表中填充了一个 datagridview。应用程序运行时如何从 datagridview 中读取数据?

0 投票
2 回答
31194 浏览

如何将 DataTable.Select() 的结果绑定到 ListBox 控件?

我有以下代码:

DataTable.Select()方法返回一个对象数组System.Data.DataRow

无论我在ListBox.DisplayMember属性中指定什么,我所看到的只是列表框,其中项目的正确数量全部显示为,System.Data.DataRow而不是"name"列中我想要的值!

是否可以从 绑定到结果数组DataTable.Select(),而不是循环遍历它并将每个数组添加到ListBox

(我对循环没有问题,但似乎不是一个优雅的结局!)

0 投票
4 回答
3806 浏览

DataSet 行/列查找的速度?

最近,我不得不对存储在 DataSet 中的数据进行一些非常繁重的处理。它足够重,以至于我最终使用了一个工具来帮助识别我的代码中的一些瓶颈。当我分析瓶颈时,我注意到虽然 DataSet 查找并不是很慢(它们不是瓶颈),但它比我预期的要慢。我一直认为 DataSets 使用了某种 HashTable 风格的实现,这将使查找 O(1)(或者至少我认为 HashTables 是这样)。我的查找速度似乎比这慢得多。

我想知道是否有人知道任何关于 .NET 的 DataSet 类的实现的人愿意分享他们所知道的。

如果我做这样的事情:

该方法的查找时间Contains(...)以及检索要存储的值有多快Object o?我会认为它像 HashTable 一样快(假设我对 HashTables 的理解是正确的),但它看起来不像......

我从内存中编写了该代码,因此有些事情可能不是“语法正确”。