问题标签 [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.
c# - MySqlDataReader GetBytes 缓冲区问题...
我发现了 MySqlDataReader.GetBytes 实现的一个奇怪的怪癖,只是想知道这是否众所周知,因为我似乎在网上找不到任何关于它的文章。
如果您遵循SqlDataReader的代码示例并将其应用于 MySqlDataReader 它将无法工作......除非您正在检索的记录中的字节数完全可以被缓冲区整除。因此,例如,如果您在循环的最后一次迭代中并且只剩下 100 个字节但它试图读取另外 1024 个字节,那么 MySqlDataReader 将失败并引发异常。SqlDataReader 不会。
除非我做错了什么?
D.
mysql - MySqlDataReader.Read() 从一个非常大的表(超过 1 亿条记录)读取时“超时”
我有一个大表,其中包含 MySQL 中大约 1 亿条记录。我想从中读取所有记录并在我的 C#/.Net 程序中处理它们,所以我写了一些这样的代码:
但是运行3分钟后,出现超时问题。
如果我将 SQL 语句更改为使用“limit”:
然后它工作正常。(循环while (rdr.Read())
大约需要 3.8 分钟)
超时是不是因为表太大了?
这是怎么回事,我该如何解决这个问题?
c# - 为什么我的 MysqlDataReader 对象变为空?
我有以下课程:
我的问题是,由于某种原因,有时我在调用 Read() 时遇到异常:异常是我的 _dataReader 成员为空。
这很奇怪,因为我在初始化时有 try-catch 块,并且没有捕获到异常(我使用我的日志机制来检查这一点)。
这种行为很少见,但发生在 aprox。每周一次(我每天运行数百万个查询)
非常感谢任何试图解决这个谜团的人!!
asp.net - MySqlDataReader 获取布尔值的方法
我正在从 MySQL 表中检索数据并使用 MySqlDataReader 和 .NET (C#) 将其显示在网页上,检索简单文本数据没有问题,但我无法从布尔列检索数据,因为可能的值为在这种情况下,“1”或“ null ”和 GetBoolean() 都不起作用。
我正在对上述列使用 GetString() 和 GetDateTime() 方法(例如 myReader.GetString("name") 和 myReader.GetDateTime("startDate")),是否有类似的方法来检索布尔值时它们标签是“1”还是“ null ”?
c# - 嵌套数据阅读器问题mysql c#
我编写了一个自定义类来处理对远程和本地 MySQL 数据库的数据库查询,但是当我执行嵌套循环时,我收到以下错误:
我的班级目前看起来像这样
我正在运行以创建错误的代码,现在我知道我可以在单个查询中执行以下示例,这是一个重新创建错误的示例查询,将其写入单个查询将无法实时使用例子。
那么我将如何让第二个循环工作呢?
c# - mysql数据读取从类返回0行
我正在我的应用程序中实现一个数据库管理器类,主要是因为有 3 个数据库要连接到一个本地数据库。
但是返回函数不起作用,我知道查询带回了行,但是当它被类返回时它有 0。我错过了什么?
以及获取结果的代码
这些脚本返回以下内容:
c# - 如何在阅读器关闭之前返回 MySqlDataReader
好的,我的代码目前是:
在另一个函数中,我有:
目前,在这种形式下,当我将阅读器返回为阅读器时,没有任何价值。我已经通过并验证了在返回时,读者的信息是正确的。然而,读者没有价值。我可能错过了一些完全愚蠢的东西。但是,我们将不胜感激任何和所有的帮助。谢谢!
c# - 缓存mysql结果c#
有没有办法缓存 MySQL 查询的结果,特别是数据读取器?
我有一些普通查询实际上只需要在加载应用程序时执行一次,然后每个表单都可以使用缓存值而不是查询远程服务器。
目前我的方法是使用 MySqlDataReader 来检索数据并将其存储在另一个 MySqlDataReader 中,以便我以后可以检索它(下面的示例)
c# - C# 中的 MySqlDataReader 没有行
我正在尝试使用 mysql 数据库在 C#(我的第一个 C# 应用程序)中开发一个小的用户用户消息系统。
我知道最佳实践是使用 EF 之类的东西来处理数据库,但我以“愚蠢”的方式编写此代码只是为了熟悉语法。
我来自 vb 背景,所以我基本上只是在转换我通常在 vb 中所做的事情,这就是为什么我不明白为什么,尽管我的数据库中有匹配的行,但 DataReader 仍然没有行返回。见下文:
上面的代码根据数据库检查用户输入,如果表中有任何行与用户输入匹配,则返回一行...
这是与数据库交互的代码...
我没有收到任何错误或任何迹象表明这里出了问题,并且我很肯定有数据与我在登录字段中的输入相匹配。
谁能帮我理解为什么 DataReader 总是空着回来?
c# - 使用 C# 查询 MySQL 的更有效方法是什么?
根据 StackOverflow 站点周围的链接(以下参考资料),我想出了这段代码来执行从我的 C# 应用程序到 MySQL 数据库的查询。
我遇到的问题是,每次我要进行一组查询时,我都必须构建这个庞大的代码块,因为我不会(也不应该)在应用程序的生命周期内保持连接打开.
是否有更有效的方法来构建支持结构(嵌套using
的 s、打开连接等),而是传递我的连接字符串和我想要运行的查询并返回结果?
参考问题:
- 使用 C# 和 MySql 的连接- 特别是 tsells 的答案
- Mysql选择位置和C#
- 使用 C# 更新 mysql 表
这是我看过的三个。还有一些,但我的 Google-fu 现在无法重新找到它们。所有这些都为如何执行单个查询提供了答案。我想执行单独的业务逻辑查询——其中一些是重复的——并且不想重复不需要的代码。
我试过的:根据nawfal的评论,我有这两种方法:
这种尝试的问题是reader
当它从方法返回时关闭。