问题标签 [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 投票
3 回答
6591 浏览

c# - 为什么调用SqlDataReader.NextResult后找不到数据?

我的问题是这不起作用;

但这行得通;

第一个问题是阅读器没有找到要读取的数据。我明白了;

“不存在数据时尝试读取无效。”

谁能明白为什么?

0 投票
4 回答
1460 浏览

asp.net - Search database returning results to gridview via sqldatareader

I am trying to create a search page, this allows the admin to search through the entries in the database by certain criteria, such as province (like state but diff country)

Here is the code I have so far. The problem is that I am not getting any errors. But I am also not getting any results. The page just posts back and returns to the blank search page. The GridView does not display any results.

here is my code as it stands:

On the .aspx page I have a textbox (id: province) and a button (id:submit)

Can anyone spot where I am going wrong. Its very frustrating when you dont get errors or results :0)

Thanks!

0 投票
2 回答
18655 浏览

c# - SqlDataReader 内的 SqlDataReader

如何SqlDataReader在另一个内部实现SqlDataReader

我的问题是我有一个SqlDataReader. 我正在发出while (reader.read())并在 while 循环内我必须创建另一个SqlDataReader以从数据库中读取。但是我收到了关于连接已经打开的例外情况。

那么解决我的问题的最佳方法是什么?

编辑:

我正在使用 clr 创建我的存储过程。我尝试将MultipleActiveResultSets=true;clr 和项目的连接字符串放入,当我在 SQL Server 上测试我的存储过程时出现异常:

System.InvalidOperationException:已经有一个打开的 DataReader 与此命令关联,必须先关闭。

0 投票
1 回答
1080 浏览

vb.net - 在 vb.net 的数据读取器中添加数据集

我希望我已经正确地问了问题标题。让我解释一下我的问题 - 我正在通过 vb.net 代码(htmltablecell、htmltablerow ..)制作一个表格,这个表格没有填充 sql 查询并且工作正常。但是在一个表格单元中的这个表格中,我需要添加一个下拉列表,它需要一个完全不同的查询,并且应该在每一行上独立运行。所以代码如下

Sql = "..." rd = ExecuteReader(SqlCnn, Sql)

这 ???在代码中,下拉列表每次都应使用其自己的数据读取器和 while 循环和查询来填充。我怎样才能做到这一点?

0 投票
2 回答
1384 浏览

sql - SqlDataReader / DbDataReader 实现问题

有谁知道 DbDataReaders 是如何工作的。我们可以使用 SqlDataReader 作为示例。

当您执行以下操作时

数据读取器是否在内存中拥有所有行,或者它只是抓取一个,然后当调用 Read 时,它会去数据库并抓取下一个吗?似乎只是将一个带入内存会带来不好的性能,但是将它们全部带入会使调用 ExecuteReader 需要一段时间。

我知道我是对象的消费者,他们如何实现它并不重要,但我只是好奇,我想我可能会在 Reflector 上花几个小时来了解它在做什么,所以想我会问一个可能知道的人。

我只是好奇是否有人有想法。

0 投票
2 回答
910 浏览

c# - C#:这是为 DAAB 使用 SqlDataReader 的正确方法吗

我刚刚开始使用微软的数据访问应用程序块。关于正确使用该库的方法的说明很少。只是想知道这是否是使用数据阅读器的正确方法。

一切都会以这种方式关闭吗?有内存泄漏的可能性吗?

0 投票
1 回答
2695 浏览

sql - VB.net 调试 sqldatareader - 即时窗口

场景是这样的;我有一个 sqldatareader 查询,当我尝试使用 datatable.load 将 sqldatareader 转换为数据表时,它似乎没有返回任何内容。

所以我调试它,我在它进入 sqldatareader 之前获取详细的 SQL 查询,只是为了确保它的格式正确。我将其复制并粘贴到 SQL Server 中以运行它并查看它是否返回任何内容。确实,一排。

我回到 Visual Studio 并让程序继续运行,我创建了一个数据表并尝试加载 sqldatareader,但它只返回一个空读取器。我对发生了什么感到困惑。

我将在此处复制代码的一个版本(不是我正在使用但关闭的确切 SQL 查询):

dt 应该有内容,但它是空的。如果我将该 SQL 查询复制到 sql server 并运行它,我会得到一行结果。

任何想法我做错了什么?

######### 更新 ############

我现在注意到它返回的行似乎比我在每个 SQL 查询中得到的少一行。因此,如果我自己运行 SQL 并获得 1 行,那么数据表似乎有 0 行。如果查询返回 4 行,则数据表有 3!!很奇怪,有人有什么想法吗?

######### 进一步更新############

好的,在使用 datatable.load 方法之前,我已经完成了一个循环来计算数据读取器的行数。在我的测试查询中,我在数据阅读器中得到 4 行(正确的数量),只要我使用 datatable.load 方法,它就会说数据表是空的,这是怎么回事?!

###### 好的

因此,似乎数据读取器是单向的,遍历它以获取行数,就任何其他代码而言,它基本上是空的。没有意识到它只是向前的,并且一旦通读就不会“重置”。

0 投票
2 回答
648 浏览

c# - 当流是缓冲区大小的倍数时出现 IndexOutOfRangeException

我在流和缓冲区方面没有很多经验,但是我必须为一个项目做这件事,当我正在读取的流是缓冲区大小的倍数时,我被抛出异常我已经选择了。我来给你展示:

我的代码首先从流中读取bufferSize(假设是 100 个)字节:

然后,我循环一个while循环:

...而且,一旦我们读取到 non-bufferSize,我们就知道我们已经到达流的末尾并且可以继续前进。

但如果 bufferSize 为 100,流为 200,我们将读取位置 0-99、100-199,然后尝试读取 200-299 错误。如果它返回 0,我会喜欢它,但它会引发错误。我正在做的事情是,好吧,一个try-catch:

...结束循环,并成功完成了事情,但我们都知道我不想通过错误处理来控制代码流。

当流长度未知时,是否有更好(更标准?)的方式来处理流读取?这似乎是一个相当合理的读取流策略中的一个小皱纹,但我只是不知道我是否弄错了。

这个的细节(我已经清理了一点)是一个 MySqlDataReader 命中一个 LARGEBLOB 列。只要缓冲区大于返回的字节数,或者返回的字节数不是bufferSize. 因为在这种情况下,我们不会抛出IndexOutOfRangeException.

0 投票
1 回答
3874 浏览

.net - 如果在关闭 SqlDataReader 之前我们无法检索输出参数,那么为什么...?

1)

在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为 SqlDataReader 提供服务,除了关闭 SqlConnection 之外,无法对 SqlConnection 执行其他操作。在调用 SqlDataReader 的 Close 方法之前就是这种情况。例如,在调用 Close 之前,您无法检索输出参数。

如果上述声明为真,那么为什么以下方法能够在阅读器关闭之前从输出参数中检索值:

2)

您可以重置 CommandText 属性并重新使用 SqlCommand 对象。但是,您必须先关闭 SqlDataReader,然后才能执行新的或上一个命令。

为什么必须在执行新命令之前关闭 sqldatareader?

谢谢

0 投票
3 回答
832 浏览

asp.net - 对数据读取器的这个空检查有什么问题

我也试过;

错误是:不存在数据时尝试读取无效。

我的代码的想法是仅在数据可用时构建一个 img src 字符串。

非常感谢帮助。

谢谢