问题标签 [idatareader]

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 投票
1 回答
78 浏览

c# - IDataReader 运行时错误

我正在尝试使用 IDataReader 填充我的请求,但是对于某些属性,值从数据库返回为 null,然后抛出异常,因为它不喜欢 null。

我已经尝试添加,但是当我调试时它没有到达 if 语句。

我可以添加哪些代码,以便在从数据库中获取空值时不会中断?

0 投票
2 回答
1704 浏览

f# - 如何在 F# 中一般处理选项值

我正在编写一个适配器类来将 IEnumerable<'T> 映射到 IDataReader 完整源代码位于https://gist.github.com/jsnape/56f1fb4876974de94238以供参考,但我想询问编写其中一部分的最佳方法. 即两个功能:

此函数必须返回一个对象,但由于传递的值可以是下游函数(如 SqlBulkCopy)无法理解的任何 F# 选项类型,因此我需要解压缩选项并将其转换为 null/DBNull。

上面的代码有效,但我觉得它有点笨拙,因为我必须为不同的类型(float 等)添加新的专业化。我确实尝试过使用通配符 | :? Option <_> as x -> 在匹配中,但编译器给了我一个“不太通用的警告”,并且代码只会匹配 Option< obj >。

这怎么能写得更惯用呢?我怀疑主动模式可能会起作用,但我从未使用过它们。

对于这个其他功能也是如此:

我不在乎它是什么类型的 Option 我只想检查 IsNone

0 投票
1 回答
936 浏览

c# - 映射 IDataReader 时未调用 AutoMapper TypeConverter

我有几个模型想使用 AutoMapper 进行映射。Automapper 设置为从 IDataReader 映射到模型类。问题是我需要在我的映射器上设置一个 ITypeConverter 以便我可以为每个模型枚举有限的次数。我不想为每个模型创建许多从 ITypeConverter 继承的类。

示例模型:

映射器类:

转换器:

注意:问题不在于 ModelConverter 类,因为当我传入 IDataReader 时它永远不会被调用。我尝试了一个类似的映射系统和另一个类,它被调用并成功处理了映射。

当我运行以下代码时,返回的值是具有空映射的项目列表。ModelConverter 类根本不会被调用。上面的代码适用于 IDataReader 以外的任何输入。AutoMapper 正在使用 IDataReader 做一些特别的事情,但我现在不确定如何继续使用 ITypeConverter。

在上面的代码中,dataReader 是 IDataReader 对象。

0 投票
1 回答
1713 浏览

c# - 如何获取列的数据类型?

我使用 Northwind 示例数据库和 ODBC。对于我的 C# 应用程序,我想将列的数据类型作为 Type 对象(而不是 String),因为出于某些原因我想使用 Type。

示例(取自 Northwind) - 表 OrderDetails 包含列:

OrderID type int(11), ProductID type int(11), UnitPrice type float, etc.

我想得到类似的东西:

不是: string dataType = reader.GetString(dataTypeOrdinal); // I can get this without any problem.

这是代码片段:(我还在代码中放了一些详细的注释)

非常感谢任何帮助和提示。提前谢谢。

0 投票
1 回答
115 浏览

f# - 此表达式应具有 IDataReader 类型,但此处具有 SqlDataReader 类型

以下代码SqlDataReadergetReaderIDataReader. 我究竟做错了什么?Seq.unfold

0 投票
1 回答
74 浏览

c# - 如何排除特定数据库被添加到我的阵列?

我想排除特定数据库的显示,但我排除的项目在运行程序时仍然显示。没有编译错误。

0 投票
2 回答
2286 浏览

.net - AutoMapper:根据某些逻辑将目标属性映射到不同的源属性/类型

我想将 Source 对象映射到 Destination 对象,该对象具有一些不直接等同于源属性的额外属性。考虑下面的例子:

IsFileGif 的映射逻辑:

IsFileSelected 的映射逻辑:

此外,由于我的源是 IDataReader,我想知道如何将 IDataReader 对象的字段/列映射到我的 Destination 属性。

我们可以使用内联代码来实现这一点,还是必须为此使用值解析器?

0 投票
1 回答
757 浏览

c# - 如何将 IDataReader 与 XmlReader 一起用于 SqlCeBulkCopy?

我有大型 XML 文件(2 Gb),我需要将数据导入 sql ce db。XML 文件有一个根标签和许多具有 20 个属性的相同标签(如 2d 表):

为了将数据从 XML 加载到我使用的 sql ce db SqlCeBulkCopy(在codeplex上)。我尝试使用DataTable,但出现此错误(因为 XML 大于 2 Gb):

“System.OutOfMemoryException”

我用来XmlReader从 XML 文件中读取信息:

在这种情况下如何使用IDataReaderwith XmlReaderfor SqlCeBulkCopy(任何例子)?

0 投票
1 回答
915 浏览

c# - 为什么 DataTable.Load(IDataReader) 不能加载一行?

我正在使用DataTable.Load(IDataReader)从数据库加载数据。
当我加载一条记录时,DataTable.Rows.Count显示计数0,但是当我加载多条记录时DataTable.Rows.Count显示正确的计数。

这是否意味着DataTable.Load Method需要两行及以上?
这篇文章很有帮助,但没有回答我的问题
https://msdn.microsoft.com/en-us/library/system.data.datatable.load(v=vs.110).aspx

代码

num0如果过程,sp_GetNames返回一条记录。

0 投票
1 回答
1160 浏览

c# - DataTable 上的自动映射器,列名中有空格

说我有:

Poco我知道我可以使用 AutoMapper 将其映射到我的自定义类:

但是,我命名Data Guid的列未正确映射,因为名称中有空格。有什么办法可以告诉 AutoMapper 在映射之前删除列名中的空格?

我研究了一个自定义类型转换器并使用了 BeforeMap 扩展。但是我无法更改架构。这可能吗?

只是为了涵盖我的所有基础,这是一个更大的项目,其数据来自我无法操纵的来源。