- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我今天的问题很简单。我拥有的是一个 VB 模块,其中包含返回 ADODB.RecordSet 对象的代码,其中包含从已执行的 SQL 查询中获取的记录。它的工作原理如下:
sSql_SerCheck = "SELECT DISTINCT Serial FROM dbo.WipReservedSerial WHERE Serial LIKE '" & serialTempSearch
sSql_SerCheck = sSql_SerCheck & "' ORDER BY Serial DESC "
dbGetRecordSet(sSql_SerCheck)
然后结果位于对象 rs 中,可以像下面这样访问
temp = rs(0) 'For the value at the first column for the first record
rs.MoveNext 'This moves to the next record in the record set
现在我在这里尝试做的是计算此记录集对象中包含的记录数。现在我对类(class)做了一些研究,发现有一个记录计数属性
所以我想做的很简单:
if( rs.RecordCount > 0) then
serCheck1 = rs(0)
MsgBox serCheck1
end if
问题是我的 RecordCount 返回 -1。我找到这篇文章http://www.w3schools.com/asp/prop_rs_recordcount.asp表明记录计数将在以下情况下返回 -1:
注意:对于只进游标,此属性将返回 -1;静态或键集游标的实际计数;和 -1 或动态游标的实际计数。
注意:调用此属性时,Recordset 对象必须打开。如果不支持此属性,它将返回 -1。
如何让这个对象返回正确的记录数?
VB 模块的代码添加如下:
Public cn, rs
'Specify pSQL as SQL Statement
Function dbGetRecordset(sSql)
dbCloseConnection()
Set cn = CreateObject("ADODB.Connection")
cn.CommandTimeout = 600
cn.Open(Conn & SystemVariables.CodeObject.CompanyDatabaseName)
Set rs = CreateObject("ADODB.Recordset")
rs.Open sSql, cn, 3, 3
End Function
最佳答案
rs.RecordCount > 0
只是检查记录集是否不为空,因此您可以通过测试 Not rs.EOF
来避免 .Recordcount(及其所有问题) >SELECT COUNT()
将是一种解决方法rs.Open sSql, cn, 3, 3
那样使用魔数(Magic Number),而是定义(并仔细检查)您的 Const,例如 adOpenStatic
, adLockOptimistic
,...关于VbScript ADODB.RecordSet RecordCount 返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28560897/
我有一个非常简单的查询,它只返回一条记录。当我尝试从唯一记录中的唯一列中获取值时,我得到“BOF 或 EOF 为真,或者当前记录已被删除。请求的操作需要当前记录。”这里发生了什么?如果 RecordC
任何人都可以解释MS Access 2007中DAO.Recordset,DAO.Recordsets和DAO.Recordset2之间的区别吗?基本上使用记录集。...举一个例子,使它更清晰。我从“
我正在尝试使用 ADODB 通过 VBA(在 Excel 中)从 MySQL 检索记录集。我可以通过网络成功连接到 MySQL 数据库,甚至可以使用 ADOX 返回表的列表,但是当我尝试返回记录集时,
Below we will attempt to access data from a database without knowing the column names. Clearly the
我的问题如下: 我需要为记录集分配一个值。问题是我需要使用一个变量。所以,而不是写这个 MyRecordSet![field_name] 我需要写这个 MyRecordSet![variable_na
我想将记录集中的数据粘贴到工作表中的 3 列。 rs.Open "SELECT [Sheet1$].Security,[Sheet1$].Description,[Sheet1$].ID FROM
我正在使用基于数据库中数据的谷歌图表框架...... 我需要生成如下输出: ([ ['Year', 'ON', 'OFF', 'X1', 'X2'], ['Jan/12',
不确定这是否会在我打算的细节中起作用。场景是文本框填充了表中的数据,用户编辑记录并单击按钮进行保存。 Dim cdb As DAO.Database, rstEdit As DAO.Recordset
如何访问脚本任务中的 RecordSet 变量? 最佳答案 在脚本选项卡上,确保将变量放在 readonlyvariables 或 readwritevariables 文本框中。 这是一个简单的脚本
我想知道是否可以使用命名范围列表将数据添加到 ADODB 记录集,而无需在单独的行上指定名称。 我尝试评估该名称,但记录集将我的变量作为名称而不是评估它。这会导致错误,因为数据库中没有包含我的变量名称
我面临着一个小问题,我似乎无法解决这个问题。我不想使用 SQL,而是想使用 vba 检查两个表之间的重复项。所以,我所做的就是创建两个记录集。每个表一个,只需检查是否可以在一个记录集中找到文档编号,同
我想知道是否有人可以帮助我。我正在尝试从 sql 表返回的记录集填充公共(public)字典。 一切似乎都很好,除了一个部分。我不知道它是否没有正确计算字典中的键数,或者它们没有被正确输入但是无论出于
由于我收到了如此好的快速解决方案,我将再次尝试从您那里获得一些帮助: 我打开了两个记录集。 Set cmd1.ActiveConnection = cn1 cmd1.CommandText = "
应我最初问题的回复者的要求 here , 我被要求改写问题以深入了解实际需求。 我可以使用什么Strongly-Typed 数据结构来保存多个RecordSet 的集合,其中每个RecordSet 将
我打算使用 MS Access 作为我程序的数据库。我对 MS Access 一无所知,此时我正在进行反复试验和大量研究。在我的研究中,我发现 Seek 方法可以快速定位与指定值匹配的行。但是,似乎提
1.建立Recordset对象 复制代码代码如下: Dim objMyRst Set objMyRst=Server.CreateObject(“ADOD
我正在寻找可以修复此运行时构建的 VBA 代码,或有关可能导致此问题的建议。 我正在运行一个 VBA 脚本,该脚本使用 ADODB 从 SQL Server 数据库中检索数据。我已经在将数据复制到我的
我正在尝试在 Access VBA 中创建一个记录集,它将向我显示与表单当前记录相关的表中的所有记录。我当前的代码如下所示: Private Sub Form_Load() Dim rst A
我最近遇到过vba更新语句,并且我一直在使用Recordset.Edit和Recordset.Update不仅编辑我现有的数据,而且要对其进行更新。 我想知道两者之间的区别:recordset.upd
我需要更新 Excel VBA 中的记录集。我从 CSV 中提取数据并使用文本驱动程序连接到该文件。这是我与文件、记录集和更新代码的连接。 Dim con As New ADODB.Connectio
我是一名优秀的程序员,十分优秀!