问题标签 [system.data]

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 投票
3 回答
9879 浏览

.net - 如何从 System.Data.DataTable 对象中获取特定值?

我是一名低级算法程序员,而数据库并不是我真正喜欢的东西——所以如果有的话,这将是一个 n00b 的问题。

我正在通过我们开发团队的 DAO 运行一个简单的 SELECT 查询。DAO 返回一个包含查询结果的 System.Data.DataTable 对象。到目前为止,这一切都很好。

我现在遇到的问题:
我需要从结果 DataTable 中第一行的一个字段中提取一个值——我什至不知道从哪里开始。微软对此感到非常困惑!啊!

任何意见,将不胜感激。我没有提供任何代码示例,因为我认为这里不需要上下文。我假设所有 DataTable 对象都以相同的方式工作,无论您如何运行查询 - 因此任何额外的信息都会让每个人都更加困惑。

0 投票
8 回答
56678 浏览

c# - 为什么使用带有 SqlTransaction 的 using 语句?

我遇到了一些关于我在代码中使用的 SqlTransaction 的问题。在我的谷歌搜索过程中,我看到很多人使用带有 SqlTransaction 的 using 语句。

将这种类型的语句与 SqlTransaction 一起使用有什么好处和/或区别?

目前我的代码如下所示:

一种方式比另一种方式有什么优势?

0 投票
2 回答
13455 浏览

c# - “无法创建字段的子列表......”是什么意思?

我的 C# 编码应用程序使用 Infragistics.Win.UltraWinGrid.UltraGrid 来显示一些数据。数据基本上是计算机的集合。该应用程序能够过滤这些计算机(如“工作站”、“服务器”等)以供查看。这就是我过滤的方式:

请注意,我将表名设置为可能很大的过滤器字符串。

这就是我使用上述方法的方式:

到目前为止一切都很好。UltraGrids 有一个工具,允许您选择要隐藏的列并创建新的自定义列。当这个工具启动时,就会触发一个调用的 UltraGrid 事件BeforeColumnChooserDisplayed 。这是我的处理程序:

这是ShowCustomColumnChooserDialog方法实现:

customColumnChooserDialog 基本上是一种为 Infragistics 默认设置添加一些额外功能的表单。它的代码处理的最重要的事情是这个方法:

如果我单步执行代码,那么在我退出事件处理程序(控件返回到表单的点)之前,一切都会很酷。只有当我尝试从显示过滤数据的网格中显示 CustomColumnChooser 对话框时,我才会收到 ArgumentException 。不是那种在代码中显示违规行的类型,而是那种会显示“Microsoft .NET Framework”错误消息框的类型,显示“您的应用程序中发生了未处理的异常......”。这意味着我无法追踪导致它的原因。在那之后应用程序并没有崩溃,但是可能会出现的 CustomColumnChooser 对话框出现了容器,其中只包含一个白色背景和一个大红色“X”。

和堆栈跟踪:

字段 DiscoveryData([Build] = '4 cannot be created的子列表不是很有帮助。它的真正含义是什么?

0 投票
3 回答
3122 浏览

.net - 我应该在哪里创建我的 DbCommand 实例?

我似乎有两个选择:

  1. 让我的班级实现IDisposable。将我的DbCommand实例创建为private readonly字段,并在构造函数中添加它们使用的参数。每当我想写入数据库时​​,绑定到这些参数(重用相同的命令实例),设置ConnectionandTransaction属性,然后调用ExecuteNonQuery. 在该Dispose方法中,调用Dispose这些字段中的每一个。
  2. 每次我想写入数据库时​​,写using(var cmd = new DbCommand("...", connection, transaction))一下命令的用法,并在每次调用之前添加参数并绑定到它们ExecuteNonQuery。我假设我不需要每个查询的新命令,每次打开数据库时都需要一个新命令(对吗?)。

这两者似乎都有些不雅,而且可能不正确。

对于#1,我的用户很烦我这个类现在IDisposable只是因为我使用了几个DbCommands (这应该是他们不关心的实现细节)。我也有点怀疑保留一个DbCommand实例可能会无意中锁定数据库或其他什么?

对于#2,每次我想写入数据库时​​,感觉就像我在做很多工作(就 .NET 对象而言),尤其是在添加参数时。似乎我每次都创建相同的对象,这感觉像是不好的做法。

作为参考,这是我当前的代码,使用#1:

0 投票
2 回答
781 浏览

f# - F# 项目中缺少 System.Data

我的目标是 .NET 3.5,但无法让 System.Data 在 Intellisense 中出现。我错过了什么?

0 投票
1 回答
3613 浏览

ado.net - 我可以添加到 DataTable 的 DataColumn 的数量是否有限制?

我找不到任何关于我可以添加到 DataTable 的 DataColumns 数量存在限制的引用。DataTable 不会从 SQL 查询生成,而是从其他数据合成。

谢谢,马修

0 投票
4 回答
1358 浏览

c# - 为 System.Data.Common 创建自定义驱动程序

背景:

我们的 C# 应用程序生成并执行对几种类型的数据库(Oracle、SQL Server、MySQL)的查询,但也提出了将它们应用于专有文件格式的要求。

  1. 到目前为止使用的命名空间是 System.Data.Common。
  2. 我们需要应用的查询非常重要(嵌套的 SELECT、FROM 中的别名、子字符串方法和字符串连接)

我们最初将专有文件的内容转换为 CSV,为此存在 Driver {Microsoft Text Driver (*.txt; *.csv)}。但是,客户端要求不生成临时文件,并且一切都应该发生在内存中。

创建一个 ODBC 驱动程序来直接查询文件似乎太费时了。因此,我们正在考虑创建一个驱动程序(可能是 ODBC),我们将在其中“嵌入”SQLITE ODBC 驱动程序。在该驱动程序中,我们可以将 CSV 文件的内容加载到“内存”数据库中,然后将查询转发到内部 ODBC 驱动程序。

我的问题:

  1. 这个解决方案看起来可行吗?
  2. 为了从头开始创建 ODBC 驱动程序,我们应该从哪里开始?

谢谢

0 投票
3 回答
5532 浏览

asp.net-mvc - ASP.NET MVC - System.Data.DataSet 未引用问题

好吧,首先对这个问题感到抱歉,这对你们来说一定很简单,但我正在努力解决这个问题,我需要让它发挥作用:(好吧,我正在尝试在我的应用程序上使用 DataSet

当我渲染它时,我得到了:

在我的应用程序中 System.Data 已经被 C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll 引用

我也在使用我的 using 子句

此数据集是来自 Web 服务的响应 那么关于如何解决此问题的任何想法?

PS。我不知道它是否有帮助,但我正在使用 nHaml 来呈现我的视图

非常感谢


更新:

我现在找到的唯一解决方案是将 DataSet 传递给视图转换器,将 DataSet 传递给

并像这样在整个 DataSet 中传递一个循环

实际上,这完全是疯狂的,不是吗?

如果直接使用DataSet,所有这些工作都可以很容易地在视图中完成我希望任何人都可以帮助我用更简单的方式来做这件事

谢谢 :)


更新(解决方案)

Simon 的回答非常有效,它在为 System.Data 和 System.Xml 添加命名空间后的第一次尝试中起作用,但同时,Josh 的回答提出了一种非常好的和很酷的使用 DataSet 的方法,我认为效果更好我想我现在就去。

谢谢你的帮助

0 投票
1 回答
2778 浏览

mono - Mono 中的 System.Data

Mono 中的 System.Data 是否已扩展为包含额外功能?我试图在 Mono.Data.SqlExpressions 中使用为 Mono 编写的 SQL 解析器,但是当 SqlExpressions 命名空间中的所有类都包含在内时,项目仍然无法编译,因为 System.Data 中的类不匹配。
例如,System.Data.DataColumn 没有定义 PropertyChanged 事件。我需要改用 Mono System.Data 库吗?当 Mono DataColumn 类包含在项目中时,不会发生此编译错误(它引用了 DataCategory 等类,这些类在 .Net 框架中找不到)。

或者,对于如何将 Mono 中的 Sql Parser 移植到 Microsoft 的 .Net 框架的任何帮助将不胜感激。我试图下载源代码并将缺少的库添加到项目中,但这种方法似乎存在缺陷。缺少的依赖项的数量似乎在增加而不是解决问题。

0 投票
2 回答
1886 浏览

vb.net - 帮助使用 VB.NET 优化 Oracle 中的批量插入

我一次插入一个包含 5000 条记录的块,一个块紧接着另一个块。这些命令在单独的 DLL 中创建,可以调用 4 个不同存储过程中的任何一个。是否有可能加快此速度的批量插入方法。目前,每条记录大约需要 1.5 MS,并且希望将其降低到大约 0.7 MS。

谢谢,

戴夫