sql - VBA:ADODB 记录集 - SQL 查询返回值 - 转换为函数中返回的数字
问题描述
我的 SQL 查询是:
SELECT fieldAge FROM tbl1 WHERE fieldName = 'Aaron'
它总是只返回 1 个数字。
我希望数字成为函数中的返回值 - 在该行出现错误。
谢谢!
Function getAge(thisName as String) As Double
Dim cn as ADODB.Connection
Dim rs as ADODB.Recordset
Dim strSQL as string
Dim strSomething as string
strSQL = "SELECT fieldAge FROM tbl1 WHERE fieldName = 'Aaron'"
Set cn = New ADODB.Connetion
cn.ConnectionString = {connection string here}
cn.open
rs.open strSQL, cn
While Not rs.EOF
strSomething = rs!fieldAge
Wend
'rs.Close
cn.Close
'Set rs = Nothing
Set cn = Nothing
getAge = rs.Field(0).Value // Doesn't work
End Function
解决方案
不,您已经关闭了记录集,这就是该行失败的原因..
除了返回范围通过 RS 打开/关闭并存储 SQL 结果的变量之外,您已经完成了其他所有操作。
getAge = strSomething
另请注意,rs.Field(0).Value
andrs!fieldAge
是相同的,因为 fieldAge 是您选择的唯一列,并且它的索引在 fields 数组中为 0。
推荐阅读
- php - 想要将多维数组转换为单个数组
- hibernate - 在 Hibernate/JPA 中更改 ResultSetType 模式
- microservices - DTO不适用于微服务,而是直接用于api
- css - 如何修复生产服务器上的css加载问题
- python - 如何从以下 mongo 对象中过滤掉数据库
- c# - 如何使用 AutoMapper 映射对象的子列表
- axapta - D365 FO - 在查询中传递日期范围
- php - 使用路由时找不到基表或视图
- windows - 如何通过 openVPN 隧道“拆分隧道”重定向某些流量?
- proxy - 如何将来自客户端的请求代理到另一台服务器