以文本方式查看主题

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

--  作者:wgpsc
--  发布时间:2012/1/30 16:02:08
--  请教:往数据库中更新数据的问题

这个问题怎么解决?
rs.Fields("macd") =Fmu.GetBufData("MACD1",gi)*10 
返回的错误是:多步OLE DB操作产生错误 错误号:03617。
我的macd字段是包含3位小数的10位数字

 

代码:

set conn = CreateObject("ADODB.connection")
conn.C

set rs = createObject("ADODB.recordSet")

Set Fmu = marketdata.STKINDI("IF00","ZJ","macd(26,12,9)",0,0)
SQL ="SELECT * FROM Trade!iftm1"
rs.open SQL,conn,1,3

for i=1 to Fmu.datasize-1

  rs.AddNew

  rs.Fields("macd") = Fmu.GetBufData("MACD1",i)*10   \'这里乘个数字是想把它强制转化成数字型,不知道起不起作用
  rs.Fields("dif") = Fmu.GetBufData("DIFF",i)*10

  rs.Update

next

[此贴子已经被作者于2012-1-30 16:27:45编辑过]

--  作者:26327756l
--  发布时间:2012/1/30 16:05:18
--  

rs Fmu分别是什么对象?

这是C++的语句吗?

[此贴子已经被作者于2012-1-30 16:11:21编辑过]

--  作者:admin
--  发布时间:2012/1/30 16:11:25
--  
给出完整代码才能说明问题
--  作者:wgpsc
--  发布时间:2012/1/30 16:11:26
--  
以下是引用26327756l在2012-1-30 16:05:18的发言:
rs 是个什么对象。

set conn = CreateObject("ADODB.connection")
conn.C

set rs = createObject("ADODB.recordSet")

Set Fmu = marketdata.STKINDI("IF00","ZJ","macd(26,12,9)",0,0)
SQL ="SELECT * FROM Trade!iftm1"
rs.open SQL,conn,1,3

for i=1 to Fmu.datasize-1

  rs.AddNew

  rs.Fields("macd") = Fmu.GetBufData("MACD1",i)*10   \'这里乘个数字是想把它强制转化成数字型,不知道起不起作用
  rs.Fields("dif") = Fmu.GetBufData("DIFF",i)*10

  rs.Update

next

 

[此贴子已经被作者于2012-1-30 16:22:49编辑过]

--  作者:26327756l
--  发布时间:2012/1/30 16:19:02
--  
不太明白,学习研究中,等待高手解答。
[此贴子已经被作者于2012-1-30 16:36:34编辑过]

--  作者:admin
--  发布时间:2012/1/30 16:31:33
--  

你的数据库连接有问题的,都没连接上数据库,当然不能操作了。

参考这里的 http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=6071&replyID=&skin=1 数据库连接代码


--  作者:wgpsc
--  发布时间:2012/1/30 16:46:21
--  
以下是引用admin在2012-1-30 16:31:33的发言:

你的数据库连接有问题的,都没连接上数据库,当然不能操作了。

参考这里的 http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=6071&replyID=&skin=1 数据库连接代码

不是没连上数据库,是论坛总是粘不上CONN C后那半句。

出错的原因大概是macd值的数字类型与MACD字段小数位设置冲突之类的

 


--  作者:wgpsc
--  发布时间:2012/1/30 16:48:09
--  

运行到中间卡住,然后打看表看,只有部分数据。

VBS里怎么定义数字格式,让它只有3位小数??


--  作者:wgpsc
--  发布时间:2012/1/30 16:50:33
--  

上面除了CONN C后没粘上外,还少粘了句CONN.OPEN 

反正数据库是连上的


--  作者:26327756l
--  发布时间:2012/1/30 16:59:13
--  

网上搜一下相关方法