问题标签 [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.
c# - 从 ADO.NET 字段获取表名?
如果我在 user.name、user.post、t.name 上进行选择,tag_name AS t
有没有办法使用 ADO.NET 解析全名?
我找到了 SqlDataReader.GetName ,但这只是name
第一个结果。我想知道它是属于用户还是 tag_name。有没有办法让它告诉我?
c# - 如何从其 SqlConnection 对象中“分离” SqlDataReader?
我有一个返回 SqlDataReader 的方法(“GetDataReader”,我们称之为)。它位于 Singleton DataFactory 类中,该类维护与数据库的持久连接。
这样做的问题是,在返回后,DataReader 仍然“连接”到我的 DataFactory 中的 Connection 对象。因此,我必须确保调用 GetDataReader 的代码然后在返回的 DataReader 上调用 Close(),否则,它会“锁定”连接:
已经有一个与此命令关联的打开的 DataReader,必须先关闭它。
在从 GetDataReader 发回 DataReader 之前,如何“分离”它?要么,或者克隆它并发送回克隆?我不想让调用代码总是显式地关闭它。
这里必须有一个最佳实践。
更新:
谢谢各位的意见。底线是我需要改掉使用 DataReaders 的习惯,改用 DataTables。它们更易于管理。
另外,感谢有关连接池的说明。我知道这一点,但只是没有把两个和两个放在一起并意识到我正在重新发明轮子。
c# - 使用 SqlDataReader 填充 ArrayList?
我正在尝试实现一个方法,该方法将采用给定的连接字符串并返回一个包含 SQL 视图内容的 ArrayList。
我已经验证了连接字符串和视图本身的有效性。但是我看不到下面的代码中的问题所在。在调试中,当它运行 ExecuteReader 方法然后尝试进入 while 循环以遍历视图中的记录时,它会立即退出,因为由于某种原因sqlReader.Read()没有。
注意,EligibleClass只是代表视图结果的一行的类对象。
c# - C# SqlDataReader 执行统计和信息
我正在创建一个自动化的数据库查询执行队列,这实际上意味着我正在创建一个 SQL 查询队列,这些查询将被一一执行。
使用类似于以下的代码执行查询:
我想做的是尽可能多地收集有关执行的信息。花了多长时间。有多少行受到影响。
最重要的是,如果它失败了,为什么它失败了。
实际上,我可以获得有关我希望能够保存的执行的任何类型的信息。
c# - 如何(有效地)将 SqlDataReader 字段转换(转换?)为其相应的 c# 类型?
首先,让我解释一下目前的情况:我正在从数据库中读取记录并将它们放入一个对象中以供以后使用;今天出现了一个关于数据库类型到 C# 类型转换(强制转换?)的问题。
让我们看一个例子:
这(显然)失败了,因为这三个this.field_x = reader["field_x"];
调用引发了Cannot implicitly convert type 'object' to 'xxx'. An explicit conversion exists (are you missing a cast?).
编译器错误。
为了纠正这个问题,我目前知道两种方法(让我们使用这个field_b
例子):第一个是this.field_b = (Byte) reader["field_b"];
,第二个是this.field_b = Convert.ToByte(reader["field_b"]);
。
选项一的问题是DBNull
字段在强制转换失败时抛出异常(即使可空类型为 as String
),而二号的问题是它没有保留空值(Convert.ToString(DBNull)
产生 a String.Empty
),我不能使用他们也有枚举。
因此,在互联网上和 StackOverflow 上进行了几次查找之后,我想出的是:
这样我应该处理每一个案件。
问题是:我错过了什么吗?我是否正在做 WOMBAT(浪费金钱、大脑和时间),因为有一种更快、更清洁的方法来做到这一点?这一切都正确吗?利润?
vb.net - 使用 SQLDataReader 而不是记录集
我是新手,有这个问题。我可以使用 SQLDataReader 代替 Recordset。我想在 SQLDataReader 中实现以下结果。
我可以用 SQLDataReader 替换记录集吗?如果可以,请告诉我代码中的更改吗?
c# - DataReader 何时变空?
我有以下代码:
当这块代码成功完成后,数据读取器(reader)变空了?是什么原因?之后我需要与这位读者合作。解决办法是什么?
sql - 在sql中复制数据时添加列
我正在使用 SqlBulkCopy 将一些记录从一个表批量插入到另一个表中。该查询使用 SqlDataReader 来获取数据。表之间重要的一个区别(除了在映射中处理的列顺序)是目标表有一个日期列,需要将当前日期添加到该列中。此日期不在源表中。我怎样才能将它添加到当前工作正常的进程中减去这个?
当前的工作代码如下所示:
数据库是 sql 2008 ENT。
asp.net - SQLDataReader:处理空值
我正在处理的一些表具有空值并且正在抛出错误。到目前为止,我尝试了一些解决方案来处理空值,但均未成功。
以下是我迄今为止努力的代码示例;
和;
和;
和;
并通过sql;
最终结果是 IndexOutOfRangeException。
这是sql;
ps,我已经运行了查询,它工作正常(即所有列都存在)