问题标签 [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.
mysql - SubSonic:MySqlDataReader 关闭连接
我正在使用 SubSonic 2.1 并在执行交易时遇到问题
SharedDbConnectionScope 和 TransactionScope。问题是在 obj.Save() 方法中,我得到一个“连接必须有效且打开”异常
我将问题追踪到这一行:
在用户类的这个构造函数中,调用了一个方法“LoadParam”,它最终会执行
看起来 rdr.Close() 隐式关闭了我的连接,这在使用 AutomaticConnection 时很好。但是在交易期间关闭连接通常不是一个好主意:-)
我的问题是这是设计使然,还是 MySqlDataReader 中的错误。
mysql - .NET MySql 是否“使用”关闭数据读取器?
我曾经使用 try/catch/finally 块关闭打开的数据读取器:
但我认为使用“使用”VB 关键字应该更干净(并且更快):
IDispose 接口(Using 需要)是否在 DataReader 上执行关闭?
sql - 枚举器的 SQL Select 优化
如何针对枚举器优化此查询:
SELECT * FROM Customers
返回一组客户的 SqlReader 将以枚举器方式按需读取。虽然它可以返回可以在 foreach 循环中缓慢读取/使用的巨大数据集,但同一张表上的每个其他查询都会遇到很多争用。如何优化/避免这种情况?光标或选择进入临时表?
这是一个会引起很多争论的代码示例(我对其进行了分析,数字看起来确实很糟糕):
PS 我还需要在 MySQL 中对此进行优化。
vb.net - 避免 NullReferenceException
我对.NET 编程相当陌生。我正在尝试检查数据库表中是否有设置,如果没有,请创建一些默认设置。问题是,当没有设置时,我需要使用数据读取器进行两次调用,并且它一直给我带来问题。
我最初只使用一个数据读取器,但做了两个尝试解决我的问题,没有用。
然后我尝试关闭数据读取器并收到错误,因为它返回了一个空引用。
如果我尝试关闭它,我会遇到问题,如果我不关闭它,下一个会给我一个错误,说这个连接上已经有一个打开的数据读取器需要关闭。谁能告诉我如何重构我的代码以使其正常工作(最好使用一个数据读取器)?
我还尝试将 reader.close() 放在另一组 try catch 中,虽然这使我能够捕获错误,但它仍然没有关闭 datareader,所以我不知所措。
c# - 如何通过列名检查 MySqlDataReader 中的 NULL?
如何检查NULL
open 中的值MySqlDataReader
?
以下不起作用;它总是击中else
:
rdr.IsDbNull(int i)
只接受列号,不接受名称。
mysql - 错误:选择命令拒绝用户''@''为表''
在我的网站中,我使用的是 MySQL 数据库。我正在使用一个网络服务,我在其中进行所有与数据库相关的操作。
现在在该网络服务的一种方法中,我收到以下错误。
选择命令拒绝用户 '<userid>'@'<ip-address>' 用于表 '<table-name>'
有什么问题?
下面是我收到该错误的代码。我尝试调试,发现它在该行失败
MySqlDataReader result1 = command1.ExecuteReader();
这是我的代码:
c# - 在 C# 中使用 MySQLConnection 无法正确关闭
最终解决方案:
连接已添加到连接池。所以我关闭了它,但它仍然保持物理打开状态。使用 ConnectionString 参数“Pooling=false”或静态方法 MySqlConnection.ClearPool(connection) 和 MySqlConnection.ClearAllPools 可以避免问题。请注意,问题是,当我关闭应用程序时,连接仍然存在。尽管我关闭了它。因此,要么我根本不使用连接池,要么在关闭连接之前清除特定池,问题就解决了。我会花时间找出对我来说最好的解决方案。
感谢所有回答的人!它帮助我更好地理解了 C# 的概念,并且我从有用的输入中学到了很多东西。:)
===
原始问题:
我已经搜索了一段时间,但没有找到解决我的问题的方法:我是 C# 新手,并尝试编写一个类来简化 MySql Connections。我的问题是,在我打开连接并关闭它之后。它仍然在数据库中打开并被中止。
当然,我使用的是“使用”语句,但是连接仍然打开并且在我退出程序后被中止。
这是我的代码的样子:
类数据库管理器打开连接并在释放时将其关闭:
因此,我在调试器中对其进行了检查,并调用了 Dispose() 方法并正确执行。我错过了什么?是不是我做错了什么或误解了什么?
任何帮助表示赞赏!
问候,西蒙
PS:以防万一,DataReader()方法(更新版本):
好的,我尝试使用收益回报:
我更改了 DataReader 方法:
它以我可以检索数据的方式工作,但我仍然遇到同样的问题:连接没有正确关闭。:(
asp.net - 我可以通过 MySqlDataReader 重新设置和循环吗?
我有一个 MySqlDataReader 对象,这个查询的结果是:
SELECT warehouse, leasing, transportation, maintenance, manpower FROM retail WHERE zone = 'Central' GROUP BY warehouse
然后我遍历 DataReader 一次,
现在我想再循环一遍……!!
我知道 DataReader 只是一个“只进”的对象。但是这里还有其他适合我的解决方案吗?
我在问,除了 MySqlDataReader 之外,还有什么有效的方法来保存数据吗?
c# - MySQLDataReader在c#中检索Null值问题
我目前正在开发一个将导出 MySQL 数据的 C# 项目。导出适用于服务器中的任何数据库,因此我不知道表中的字段和数据类型,也不知道表中的字段是否允许空值。
在测试期间,我发现导出工作正常,但是如果当 mysql 数据读取器进入为空的行时该字段允许为空,则会显示错误 SqlNullValueException,数据为空。
我已经尝试过,if (reader.getString(field) == null) {}
但它仍然显示错误。
如何处理数据库中的 Null 值。
感谢您的任何帮助,您可以提供。
c# - MySqlDataReader:DataTable.Fill(reader) 抛出 ConstraintException
我有两张桌子orders
和orderdetails
表订单(PK = id,orderno 上的唯一索引)
表 orderdetails (PK = id)
现在我想查询数据:
INNER JOIN orderdetails od ON o.orderno = od.order
返回:
但是,如果我使用以下代码将结果加载到 DataTable 中,则会失败:
问题是,那
是UniqueConstraints
orderno 列上的一个。大概是因为
有一个IsUnique=true
orderno 条目(在基表中为真,但在连接查询中不为真)。
更糟糕的是,这也无济于事:
任何想法如何解决这一问题?
堆栈跟踪: