Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样多线程获取网络数据


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

主题:[求助]怎样多线程获取网络数据

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


加好友 发短信
等级:五尾狐 帖子:1137 积分:11218 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]怎样多线程获取网络数据  发帖心情 Post By:2021/10/12 22:10:00 [只看该作者]

老师好!
下面的代码逐行获取单日  1000只股piao数据,耗时150秒,怎样采用多线程获取?
请老师给改个例子学习一下,谢谢!

代码:
'''
Dim sstr As String = ""    '错误记录

Dim dm,dm1 As String      '沪深冠字
Dim _sr As String = Format(e.Form.Controls("DateTimePicker1").value , "yyyyMMdd")    '起始日期=结束日期
Dim _zr As String = Format(e.Form.Controls("DateTimePicker1").value , "yyyyMMdd")    '结束日期
Dim cn As Integer = 0     '预设导入股piao个数
Dim dt As Date = Date.Now
Dim str As String = ""    '股piao名预设
Dim count As Integer =  Tables("沪深A股").rows.count    '股piao个数

DataTables("沪深A股").ResumeRedraw
Dim obj_down As New System.Net.WebClient()
DataTables("沪深A股").StopRedraw

For Each dr As DataRow In DataTables("沪深A股").DataRows       '遍历行,根据代码获取数据,起始时间与结束时间相同,仅获取单日数据
    If dr.IsNull("代码") = False Then
        dm = dr("代码")
        If dm >= 600000 Then
            dm1 = "0" & dm   '沪市
        Else
            dm1 = "1" & dm   '深市
        End If
    End If
    
    try
        Dim data As String = obj_down.DownloadString("http://quotes.money.163.com/service/chddata.html?code=" & dm1 & "&start=" & _sr & "&end=" & _zr & "&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP")
        data = data.Replace(vblf,"").Replace("'","''")
        Dim rs() As String = data.Split(vbcr)
        str = dm
        cn +=1  '股piao个数
        
        'For i As Integer = 1 To rs.Length - 2   '首行是标题
        Dim cs() As String = rs(1).Split(",")
        If cs.Length = 15 Then
            dr("日期") = cs(0)
            dr("今日开盘") = cs(6)
            dr("今日涨跌幅") = cs(9)
        End If
        'Next
    Catch ex As Exception
        sstr &= dm & ","   '出错个数
    End Try
Next

DataTables("沪深A股").ResumeRedraw

Dim tp As TimeSpan
tp = Date.Now - dt
e.Form.Controls("Label运行提示").text = "正在下载  " & cn & "/" & count & "  只股piao:" & vbcrlf & "耗时  " & tp.TotalSeconds

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试获取数据.foxdb



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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/12 22:56:00 [只看该作者]

参考:http://www.foxtable.com/mobilehelp/topics/3268.htm

代码里不要使用DataTables,全部改为使用SQLcommand操作数据库

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


加好友 发短信
等级:幼狐 帖子:168 积分:1348 威望:0 精华:0 注册:2018/1/31 10:28:00
  发帖心情 Post By:2021/10/13 11:10:00 [只看该作者]

可以用Go语言开发接口

 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1137 积分:11218 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2021/10/13 11:37:00 [只看该作者]

谢谢朋友,还没有接触过~

 回到顶部