以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  数据库问题  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=174270)

--  作者:zm71212302
--  发布时间:2020/2/13 10:17:12
--  数据库问题

strSqlread="select stockdate from if00 "

\'strSqlread=strSqlread&"where vclose =2249"

\'ADO Recordset 对象用于容纳一个来自数据库表的记录集。

Set rstTmp=CreateObject("ADODB.RecordSet")

rstTmp.open strSqlread,adoConn

aa=rstTmp("stockdate")

call application.MsgOut(aa)

为什么AA只显示最后一条数据,如何叫它以列表状态显示STOCKDATE的全部数据,麻烦老师解惑一下


--  作者:yukizzc
--  发布时间:2020/2/13 13:06:33
--  

aa=rstTmp("date")
rstTmp.MoveNext
bb=rstTmp("date")
call application.MsgOut(aa)
call application.MsgOut(bb)

 

https://blog.csdn.net/bigheadsheep/article/details/8492693


--  作者:yukizzc
--  发布时间:2020/2/13 13:07:32
--  

这类数据库问题建议客户自行百度试试了,这边技术人员能力也有限,我估计就是类似游标的概念你要自己处理好移动到下一个数据点

 

 


--  作者:zm71212302
--  发布时间:2020/2/14 2:20:22
--  
非常感谢!解决我的疑惑了。
--  作者:zm71212302
--  发布时间:2020/2/14 4:55:30
--  
\'这个基础知识不熟悉的确实很头痛,下面这个例子可以与我有同样问题的做个参考
Sub RecordsetXX()
    Set adoConn=CreateObject("Adodb.Connection")
        adoConn.Open"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\\test.mdb"
DIM strSqlupd,rstTmp,aa,itemfields
\'检索并且更新数据
strSqlupd="select stockdate from IF00 "
\'读取数据
\'ADO Recordset 对象用于容纳一个来自数据库表的记录集。
    Set rstTmp=CreateObject("ADODB.Recordset")
        rstTmp.LockType=2
        rstTmp.open strSqlupd,adoConn
Do While rstTmp.EOF=0
        aa =rstTmp("stockdate")
        call application.MsgOut(aa)
        rstTmp.MoveNext
 Loop
        rstTmp.Close
        adoConn.CLOSE
End Sub

MoveNext之前放到AA的上面了,产生读取空记录的漏洞,把我也是整得很懵圈,粘出这个代码也是感谢管理的帮助,不必再重复同样的问题。