欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教:往数据库中更新数据的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有7782人关注过本帖树形打印复制链接

主题:请教:往数据库中更新数据的问题

帅哥哟,离线,有人找我吗?
wgpsc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:777 威望:0 精华:0 注册:2012/1/19 14:50:02
请教:往数据库中更新数据的问题  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wgpsc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:777 威望:0 精华:0 注册:2012/1/19 14:50:02
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wgpsc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:777 威望:0 精华:0 注册:2012/1/19 14:50:02
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:777 威望:0 精华:0 注册:2012/1/19 14:50:02
  发帖心情 Post By:2012/1/30 16:48:09 [显示全部帖子]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
wgpsc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:777 威望:0 精华:0 注册:2012/1/19 14:50:02
  发帖心情 Post By:2012/1/30 16:50:33 [显示全部帖子]

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

反正数据库是连上的


 回到顶部
帅哥哟,离线,有人找我吗?
wgpsc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:777 威望:0 精华:0 注册:2012/1/19 14:50:02
  发帖心情 Post By:2012/1/30 17:00:52 [显示全部帖子]

谢谢各位,问题已解决


 回到顶部
帅哥哟,离线,有人找我吗?
wgpsc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:114 积分:777 威望:0 精华:0 注册:2012/1/19 14:50:02
  发帖心情 Post By:2012/1/30 17:29:02 [显示全部帖子]

以下是引用admin在2012-1-30 17:01:17的发言:

你试试将MACD字段设成双精度浮点数

用了这个: CLNG(Fmu.GetBufData("MACD1",I)*1000)/1000  不过MACD1的值跟第一根K线的位置有关,还得想点办法让它更精确


 回到顶部