问题标签 [sqldatareader]

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 回答
367 浏览

asp.net - 中继器不重复:0)(asp.net)(vb)

早上堆栈溢出,

我有一个中继器,在我的 aspx 页面中有以下代码;

然后我在我的 aspx.vb 中有这段代码来获取数据;

如果“did”是或不是“0”,我仍然没有数据输出到页面。我只是从标题模板中获取“联系信息”h1 标题。

我已经在 sqlsms 中测试了 s 的值,它工作正常。职位、姓氏、电话、传真、电子邮件都存在于数据库中。我正在检查的特定页面存在,并附有一组联系信息。

我哪里错了?

谢谢!

附言。我的语法看起来正确吗?

pps。我也对达到相同结果的不同方式持开放态度。我通过 sqldatasource 进行了尝试,但在使用变量作为参数时遇到了问题(没有选择它们的选项,只有控件、查询字符串等)

0 投票
5 回答
10209 浏览

c# - 如果您已经关闭 SqlConnection,是否需要关闭/处理 SqlDataReader?

我注意到This question,但我的问题更具体一些。

使用有什么好处吗

代替

显然,如果您计划在同一个连接上运行多个命令,这很重要,因为关闭一个连接SqlDataReader比关闭和重新打开一个连接更有效(调用conn.Close();conn.Open();也将释放连接)。

我看到很多人坚持认为未能关闭SqlDataReader意味着留下开放的连接资源,但这是否仅适用于您不关闭连接的情况?

0 投票
1 回答
253 浏览

c# - SqlDataReader & 用户控制

我尝试使用 userControl 来显示 SqlDataReader 数据。

在主页

...

并在用户控件中

但我不断收到这个错误

无法从“RData1”属性的字符串表示“<%=Data2 %>”创建“System.Data.SqlClient.SqlDataReader”类型的对象。

0 投票
1 回答
387 浏览

sqldatareader - SQLDataReader 是否比使用命令行实用程序 sqlcmd 慢?

我最近向一位同事提倡我们将一些使用 sqlcmd 命令行实用程序的 C# 代码替换为 SqlDataReader。旧代码使用: System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c" + sqlCmd); sqlCmd 类似于 "sqlcmd -S " + serverName + " -y 0 -h-1 -Q " + "\"" + "USE [" + database + "]" + ";+ txtQuery.Text +"\ "";\

然后使用正则表达式解析结果。我认为使用 SQLDataReader 会更符合行业惯例,更易于调试和维护并且可能更快。但是,SQLDataReader 方法的速度至少相同,而且很可能更慢。我相信我用 SQLDataReader 做的一切都是正确的。代码是:

我使用 System.Diagnostics.Stopwatch 来计时这两种方法,命令行实用程序(从 C# 代码调用)似乎更快(20-40%?)。SqlDataReader 有一个简洁的特性,即当再次调用相同的代码时,它的速度很快,但对于这个应用程序,我们没有预料到。

我已经对这个问题进行了一些研究。我注意到命令行实用程序 sqlcmd 使用 OLE DB 技术来访问数据库。这比 ADO.NET 快吗?我真的很惊讶,特别是因为命令行实用程序方法涉及启动一个进程。我真的以为它会更慢。

有什么想法吗?

谢谢,戴夫

0 投票
3 回答
575 浏览

asp.net - sqlDataReader 出现问题

我正在使用 sqlDataReader 获取数据并将其设置为会话变量。问题是它不想使用表达式。我可以引用表中的任何其他列,但不能引用表达式。SQL 确实有效。代码如下。在此先感谢,安东尼

0 投票
7 回答
869 浏览

c# - 我应该在这里实现 IDisposable 吗?

我调用 SQL Server 的方法返回 aDataReader但由于我需要做的 - 即返回DataReader到驻留在页面代码隐藏中的调用方法 - 我无法关闭调用 SQL 的方法的类中的连接服务器。因此,我没有 finally 或 using 块。

配置资源以使类实现的正确方法是IDisposable什么?或者,我应该从调用者显式处理非托管资源(类级字段)吗?

编辑:我将数据读取器发回,因为我需要将数据读取器中的特定数据绑定到 listitem 控件,所以在调用类(代码隐藏页面)中,我这样做:

0 投票
6 回答
8291 浏览

enterprise-library - SQLDataReader 上的强制转换错误

我的网站使用的是企业库 v 5.0。主要是DAAB。executescalar、executedataset 等一些函数按预期工作。开始使用 Readers 时出现的问题

我的包含类中有这个功能:

这是从我的 aspx.vb 调用的,如下所示:

这会在 db.ExecuteReader 行出现以下错误:

无法将“Microsoft.Practices.EnterpriseLibrary.Data.RefCountingDataReader”类型的对象转换为“System.Data.SqlClient.SqlDataReader”类型。

任何人都可以阐明我如何开始这项工作。通过 entlib 与读者打交道时,我是否总是会遇到问题?

0 投票
6 回答
4159 浏览

c# - DataReader - 硬编码序数?

从 a 返回数据时,DataReader我通常会使用 上的序号引用DataReader来获取相关列:

或者

或者

我一直这样做是因为我在早期就被告知使用dr["ColumnName"]或更优雅的索引方式会导致性能下降。

然而,虽然所有对数据实体的引用都变得越来越强类型,但我对此感到更不舒服。我也知道上面没有检查DBNull.

从 a 返回数据的最可靠方法是DataReader什么?

0 投票
2 回答
717 浏览

c# - C#:在长时间运行的 SQL 阅读器循环中强制干净运行?

我有一个 SQL 数据阅读器,它从 sql db 表中读取 2 列。一旦完成它的工作,它就会再次开始选择另外 2 列。

我会一口气完成所有工作,但这会带来另一组挑战。

我的问题是该表包含大量数据(大约 300 万行左右),这使得使用整个数据集有点问题。

我正在尝试验证字段值,因此我先提取 ID 列,然后提取其他列之一,并通过验证管道运行列中的每个值,其中结果存储在另一个数据库中。

我的问题是,当读者到达处理一列的末尾时,我需要强制它立即清理使用的每个小内存块,因为此过程使用大约 700MB 并且它有大约 200 列要通过。

如果没有完整的垃圾收集器,我肯定会用完 ram。

有人知道我该怎么做吗?

我正在使用许多小的可重用对象,我的想法是我可以在每个读取周期结束时调用 GC.Collect() 并且这会清除所有内容,不幸的是由于某种原因这没有发生。

好的,我希望这适合,但这是有问题的方法...

0 投票
1 回答
445 浏览

c# - SqlDataReader GetBoolean 从计算结果集字段

我的 SQL SPROC 结果集中有一个字段,它是一个计算的 CASE 语句,它返回 1 或 0(即 True/False)。

当我尝试使用 SqlDataReader 类的 GetBoolean 方法并引发异常时。

任何建议,将不胜感激。