问题标签 [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.
asp.net - 无法将“System.Data.DataView”类型的对象转换为“System.Data.IDataReader”类型
我有一个函数(在 vb.net 上)从 XMLWebService 获取数据:
然后是调用函数的GetDataSchedule()
函数:
但是当我执行代码时,它会导致收到错误消息:
Unable to cast object of type 'System.Data.DataView' to type 'System.Data.IDataReader'.
当我只是执行GetDataSchedule()
函数时,它返回值,但是当我单独调用函数时,它得到了错误。我错过了什么吗?需要你的帮助。谢谢...
linq - Idatareader 到列表
使用 Linq 有没有更有效的方法来做到这一点?
我看到:如何从 dataReader 将数据加载到列表中? 然而,这与我上面的代码相同,似乎有更快的方法。就像使用 Linq 或 seat.AddRange() 或某种 ToList()
asp.net - IDataReader 序列化错误
我有一个 ASP.NET 页面,其中包含一个Gridview
.
我正在尝试将IDataReader
对象绑定到网格。这个IDataReader
对象是通过调用更多的代码层(实际上是形成控制器层和数据库层的其他 .ent 项目 dll)来分配的,然后最终绑定到我的网格。
在gridview1.Datasource = dr
(博士是我的 IDataReader),我没有看到任何问题。
但是在 gridview1.Databind 行我得到一个异常,异常对象中的详细信息如下:
{“在程序集 'System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 中键入 'System.Data.Common.DbEnumerator' 未标记为可序列化。”}
我不确定应用程序中出了什么问题。有什么想法或意见吗?
编辑 1
添加堆栈跟踪异常:
从上面的堆栈跟踪中无法理解太多。
c# - 多次读取 IDataReader 时出错
我正在尝试将 SQL 数据库中的数据(1 个表中的 4 列)加载到列表中,并且到目前为止
现在我使用的数据库有三行数据,所以每行的长度应该是 3。但是只有第一个返回长度为 3;其他的长度为0。更奇怪的是,如果我注释掉第一个,第二个会起作用,但其他的不起作用。第三个和第四个也是如此。
很难解释,因为我无法提供用于测试的数据库,所以我想知道上面是否有任何明显的内容,或者这是否是将列数据加载到数组/列表格式的错误方法。
powershell - Powershell:围绕流读取器实现 IdataReader 包装器
我正在尝试使用 Powershell 将非常大的 CSV 文件加载到 SQL Server 中。该代码还必须即时应用正则表达式替换,允许使用各种分隔符、EOR 和 EOF 标记。为了维护,我真的希望所有这些逻辑都存在于 Powershell 中,而无需导入程序集。
为了提高效率,我知道我需要使用 SQLBulkCopy 方法。但是,我看到的所有 Powershell 示例都填充了一个 DataTable 并传递它,这对我来说是不可能的,因为文件大小。
我很确定我需要将 StreamReader 包装在 Idatareader 中,然后将其传递给 SQLBulkcopy。我发现了几个用 C# 实现的很好的例子:http:
//archive.msdn.microsoft.com/FlatFileDataReader
http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader
是否可以在不导入 C# 程序集的情况下使用本机 PowerShell 完成此功能?我特别难以转换抽象类包装器。
这是我到目前为止没有通过 IdataReader 并打破内存限制的代码。
非常感谢您的帮助。
c# - 在批量导入数据库期间处理 csv 中的空字段
我正在将地理编码数据从 csv 文件导入我们的数据库。
我使用了以下库 A fast csv reader来读取 csv 然后使用SqlBulkCopy
这是我正在导入的数据的示例
它适用于良好的数据,但最重要的是它会抛出异常,因为数据库设置为不接受空值。
有没有办法告诉 bulkcopy 忽略坏数据?我试图通过像这样使用库的内置属性来让 csv 阅读器忽略坏行,但它们似乎不起作用。
我想另一种选择是预先解析 csv 并删除所有有问题的行。也许有一个更好的 .net csv 库?
c# - 将SqlDataReader对象传递给需要IDataReader接口的方法时丢失数据
我有一个需要 SqlDataReader 对象作为参数的方法,并且我在模拟该对象的地方进行了测试,并且一切正常。
但是,现在我需要改变这种方法。它现在应该只调用具有 IDataReader 作为参数的新方法,这是一个问题,因为当我将模拟的 SqlDataReader 作为新方法的参数传输时,它会丢失他的数据,我不知道为什么。
像这样的东西:
我观察到,如果我只是将 SqlDataReader 对象复制到 IDataReader 类型的新变量,数据也会被清除。
像这样的东西:
正确的代码:
所以有代码,第二种和第三种方法在其他dll中,但它对任何东西都没有影响。对象在 RhinoMocks 中被模拟 ;)
将 SqlDataReader 对象(读取)传输到 GetValue 方法后数据丢失(即 FieldCount 等于 0,在 Check.. 方法中它具有正确的值 = 1)
c# - 是否可以在 DataTable 或 DataRows 上使用 IDataReader?
我有一个使用 IDataReader 填充对象的函数:
这在使用 SqlDataReader 根据 SQL 查询的结果填充对象的字段时非常有用。几乎我所有的课程都有这种需要 IDataReader 的“FillDataItem”。使将数据库对象带入代码变得非常容易。
但是,现在我想做同样的事情,但使用来自 DataTable 的 DataRow 作为数据源。情况是出现了一个自定义构建的 DataTable,它的格式(相同的列)与来自 SQL 查询的格式完全相同,但它不是来自任何类似的外部数据源。我想循环遍历 DataTable 的行,并以与上述 FillDataItem() 方法相同的方式对每一行填充一个对象。
当然,我可以创建一个以 DataRow 作为参数的重载新方法:
但这与 IDataReader 版本非常相似,我真的很想知道如何通过一种方法实现我的目标,这样就不需要复制类似的代码。考虑到我有很多字段,FillDataItem 方法大概有 200 行。将其复制/粘贴到 DataRow 版本中似乎很浪费且难以维护。
c# - IDataReader 不读取,没有错误
我意识到 IDataReader 已经过时,有些人认为它是脏代码,但在我正在研究的网站上,这就是他们使用的。我有一个 IDataReader 语句来运行查询以使用多个连接从表中获取特定的 id。现在这个站点有一个 DAL,但它只支持一次从一个表中选择的能力,因此使用带有连接的 select 语句不适用于它。这就是我被迫使用 IDataReader 的原因。
这就是我所拥有的,但是当它到达时:
它呈现为假,没有抛出异常,也没有错误或警告。我过去做过这种类型的选择没有问题,但我不知道为什么 .Read() 返回错误。
任何人都可以提出它不阅读的可能原因吗?如果需要更多代码,我可以根据需要提供。任何帮助表示赞赏,在此先感谢您。
asp.net - 如何迭代 IDataReader 或其他控件
我知道我不能将 IDataReader 迭代到最后并回到开头并再次迭代它。那么我应该怎么做才能多次迭代数据呢?