以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  请教能否将历史数据直接导入到MYSQL  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=6105)

--  作者:lilieddove
--  发布时间:2011/4/11 23:04:34
--  请教能否将历史数据直接导入到MYSQL

版主,你好。请教能否从金字塔中,把历史数据直接导入到MYSQL吗,能否给一个简单的例子,谢谢


--  作者:guotx2010
--  发布时间:2011/4/11 23:13:47
--  

\'使用自定义函数将最后周期的开盘、最高、最低、收盘价等传到VBA后台,后台使用数据库操作,将数据保存。

 

\'将行情数据存入数据库
Sub SaveStockToDB(stockdate1,stocktime1,stockopen1,stockhigh1,stocklow1,stockclose1)
 Dim strSql
 
 Set adoConn=CreateObject("Adodb.Connection")
  adoConn.Open "Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=D:\\UserData.mdb"

 

 strSql="Insert Into tblGuZhi (stockdate,stocktime,stockopen,stockhigh,stocklow,stockclose)"
 strSql=strSql & " Values (\'" & stockdate1 & "\',\'" & stocktime1 & "\',\'" & stockopen1 & "\',\'" & stockhigh1 &"\',\'" & stocklow1
 strSql=strSql & "\',\'" & stockclose1 &"\')" 
 AdoConn.Execute(strSql)
End Sub

 

\'我这里使用了Access数据库,MySql应该也是类似,只是连接字符串不同。

\'这是即时行情数据每周期结束就保存到数据库的方法。

 

[此贴子已经被作者于2011-4-11 23:27:48编辑过]

--  作者:guotx2010
--  发布时间:2011/4/11 23:26:36
--  

\'保存历史数据到数据库

Sub SaveHisToAccess()

    dim i

    Dim strSql

  Set adoConn=CreateObject("Adodb.Connection")
  adoConn.Open "Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=D:\\UserData.mdb"
  

  Set History = marketdata.GetHistoryData(VBA_Code,VBA_Market,0)  \'1分钟K线数据

  \'Cyctype  周期类型,0 1分钟 1 5分钟 2 15分钟 3 30分钟 4 60分钟 5日线 6周线 7月线 8年线 9多日线 10分笔成交

  \'11多小时线 12多秒线 13多分钟线 14季度线 15半年线 16节气线 17 3分钟 18 10分钟 19 多笔线

  For i = 1 to HistroyData.count-1
         C1=History.Close(i)

         strSql="Insert Into tblGuZhi (CloseData)"
         strSql=strSql & " Values (" & CStr(C1) &")" 
         AdoConn.Execute(strSql)

   Next
End Sub


--  作者:wangwatercup
--  发布时间:2011/4/13 22:44:39
--  
以下是引用guotx2010在2011-4-11 23:26:36的发言:

\'保存历史数据到数据库

Sub SaveHisToAccess()

    dim i

    Dim strSql

  Set adoConn=CreateObject("Adodb.Connection")
  adoConn.Open "Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=D:\\UserData.mdb"
  

  Set History = marketdata.GetHistoryData(VBA_Code,VBA_Market,0)  \'1分钟K线数据

  \'Cyctype  周期类型,0 1分钟 1 5分钟 2 15分钟 3 30分钟 4 60分钟 5日线 6周线 7月线 8年线 9多日线 10分笔成交

  \'11多小时线 12多秒线 13多分钟线 14季度线 15半年线 16节气线 17 3分钟 18 10分钟 19 多笔线

  For i = 1 to HistroyData.count-1
         C1=History.Close(i)

         strSql="Insert Into tblGuZhi (CloseData)"
         strSql=strSql & " Values (" & CStr(C1) &")" 
         AdoConn.Execute(strSql)

   Next
End Sub



应该从0开始把,data字符多余

  For i = 0 to Histroy.count-1


--  作者:guotx2010
--  发布时间:2011/4/13 22:53:14
--