请老师帮忙看看计算涨跌幅的代码,存在下列问题:1、只计算追加数据的涨跌幅,以前计算过的就跳过去,但是行数cn的计数不对;
2、要计算之前是不是要把数据都加载进来,因为刚追加的第一条数据需要利用上一条数据的收盘价;
3、sql外部数据源能不能在后台计算,不加载数据?
代码如下:
Dim cn As Integer = 0 '计算行数
Dim t As Table = Tables("股piao数据")
Dim codes As List (Of String) = DataTables("股piao数据").GetValues("代码","","时间")
Dim st As Date = Date.Now
For Each code As String In codes
Dim drlist As List (Of DataRow) = DataTables("股piao数据").Select("代码 = '" & code & "'")
For i As Integer = 0 To drlist.Count - 1
If drlist(i)("涨跌幅") = Nothing Then '如果涨跌幅为空
cn +=1 '数据行数
If i = 0 Then
drlist(i)("涨跌幅") = (drlist(i)("收盘价") - drlist(i)("开盘价")) / drlist(i)("开盘价") * 1%
Else
drlist(i)("涨跌幅") = (drlist(i)("收盘价") - drlist(i - 1)("收盘价")) / drlist(i - 1)("收盘价") * 1%
End If
End If
Next
Next
MessageBox.Show("计算: " & cn & "行数据" & vbcrlf & "耗时: " & (Date.Now - st).TotalSeconds & "秒")
此主题相关图片如下:123.jpg
