您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 其他期货软件知识>>正文内容

请教:往数据库中更新数据的问题 [金字塔]

  • 咨询内容:

    这个问题怎么解决?
    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编辑过]

     

  • 金字塔客服:

    rs Fmu分别是什么对象?

    这是C++的语句吗?

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

     

  • 用户回复: 给出完整代码才能说明问题

     

  • 网友回复: 以下是引用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编辑过]

     

  • 网友回复: 不太明白,学习研究中,等待高手解答。 [此贴子已经被作者于2012-1-30 16:36:34编辑过]

【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容