问题标签 [mysqldatareader]

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

c# - MySqlDataReader GetBytes 缓冲区问题...

我发现了 MySqlDataReader.GetBytes 实现的一个奇怪的怪癖,只是想知道这是否众所周知,因为我似乎在网上找不到任何关于它的文章。

如果您遵循SqlDataReader的代码示例并将其应用于 MySqlDataReader 它将无法工作......除非您正在检索的记录中的字节数完全可以被缓冲区整除。因此,例如,如果您在循环的最后一次迭代中并且只剩下 100 个字节但它试图读取另外 1024 个字节,那么 MySqlDataReader 将失败并引发异常。SqlDataReader 不会。

除非我做错了什么?

D.

0 投票
2 回答
1718 浏览

mysql - MySqlDataReader.Read() 从一个非常大的表(超过 1 亿条记录)读取时“超时”

我有一个大表,其中包含 MySQL 中大约 1 亿条记录。我想从中读取所有记录并在我的 C#/.Net 程序中处理它们,所以我写了一些这样的代码:

但是运行3分钟后,出现超时问题。 这是错误输出:

如果我将 SQL 语句更改为使用“limit”:

然后它工作正常。(循环while (rdr.Read())大约需要 3.8 分钟)

超时是不是因为表太大了?

这是怎么回事,我该如何解决这个问题?

0 投票
2 回答
1464 浏览

c# - 为什么我的 MysqlDataReader 对象变为空?

我有以下课程:

我的问题是,由于某种原因,有时我在调用 Read() 时遇到异常:异常是我的 _dataReader 成员为空。

这很奇怪,因为我在初始化时有 try-catch 块,并且没有捕获到异常(我使用我的日志机制来检查这一点)。

这种行为很少见,但发生在 aprox。每周一次(我每天运行数百万个查询)

非常感谢任何试图解决这个谜团的人!!

0 投票
1 回答
949 浏览

asp.net - MySqlDataReader 获取布尔值的方法

我正在从 MySQL 表中检索数据并使用 MySqlDataReader 和 .NET (C#) 将其显示在网页上,检索简单文本数据没有问题,但我无法从布尔列检索数据,因为可能的值为在这种情况下,“1”或“ null ”和 GetBoolean() 都不起作用。

我正在对上述列使用 GetString() 和 GetDateTime() 方法(例如 myReader.GetString("name") 和 myReader.GetDateTime("startDate")),是否有类似的方法来检索布尔值时它们标签是“1”还是“ null ”?

0 投票
1 回答
1353 浏览

c# - 嵌套数据阅读器问题mysql c#

我编写了一个自定义类来处理对远程和本地 MySQL 数据库的数据库查询,但是当我执行嵌套循环时,我收到以下错误:

我的班级目前看起来像这样

我正在运行以创建错误的代码,现在我知道我可以在单个查询中执行以下示例,这是一个重新创建错误的示例查询,将其写入单个查询将无法实时使用例子。

那么我将如何让第二个循环工作呢?

0 投票
4 回答
457 浏览

c# - mysql数据读取从类返回0行

我正在我的应用程序中实现一个数据库管理器类,主要是因为有 3 个数据库要连接到一个本地数据库。

但是返回函数不起作用,我知道查询带回了行,但是当它被类返回时它有 0。我错过了什么?

以及获取结果的代码

这些脚本返回以下内容:

0 投票
2 回答
3642 浏览

c# - 如何在阅读器关闭之前返回 MySqlDataReader

好的,我的代码目前是:

在另一个函数中,我有:

目前,在这种形式下,当我将阅读器返回为阅读器时,没有任何价值。我已经通过并验证了在返回时,读者的信息是正确的。然而,读者没有价值。我可能错过了一些完全愚蠢的东西。但是,我们将不胜感激任何和所有的帮助。谢谢!

0 投票
4 回答
1573 浏览

c# - 缓存mysql结果c#

有没有办法缓存 MySQL 查询的结果,特别是数据读取器?

我有一些普通查询实际上只需要在加载应用程序时执行一次,然后每个表单都可以使用缓存值而不是查询远程服务器。

目前我的方法是使用 MySqlDataReader 来检索数据并将其存储在另一个 MySqlDataReader 中,以便我以后可以检索它(下面的示例)

0 投票
1 回答
2515 浏览

c# - C# 中的 MySqlDataReader 没有行

我正在尝试使用 mysql 数据库在 C#(我的第一个 C# 应用程序)中开发一个小的用户用户消息系统。

我知道最佳实践是使用 EF 之类的东西来处理数据库,但我以“愚蠢”的方式编写此代码只是为了熟悉语法。

我来自 vb 背景,所以我基本上只是在转换我通常在 vb 中所做的事情,这就是为什么我不明白为什么,尽管我的数据库中有匹配的行,但 DataReader 仍然没有行返回。见下文:

上面的代码根据数据库检查用户输入,如果表中有任何行与用户输入匹配,则返回一行...

这是与数据库交互的代码...

我没有收到任何错误或任何迹象表明这里出了问题,并且我很肯定有数据与我在登录字段中的输入相匹配。

谁能帮我理解为什么 DataReader 总是空着回来?

0 投票
5 回答
2578 浏览

c# - 使用 C# 查询 MySQL 的更有效方法是什么?

根据 StackOverflow 站点周围的链接(以下参考资料),我想出了这段代码来执行从我的 C# 应用程序到 MySQL 数据库的查询。

我遇到的问题是,每次我要进行一组查询时,我都必须构建这个庞大的代码块,因为我不会(也不应该)在应用程序的生命周期内保持连接打开.

是否有更有效的方法来构建支持结构(嵌套using的 s、打开连接等),而是传递我的连接字符串和我想要运行的查询并返回结果?

参考问题:

这是我看过的三个。还有一些,但我的 Google-fu 现在无法重新找到它们。所有这些都为如何执行单个查询提供了答案。我想执行单独的业务逻辑查询——其中一些是重复的——并且不想重复不需要的代码。

我试过的:根据nawfal的评论,我有这两种方法:

这种尝试的问题是reader当它从方法返回时关闭。