以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]find 主键列 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=154206) |
-- 作者:天一生水 -- 发布时间:2020/9/8 8:36:00 -- [求助]find 主键列 老师好! 如下图,右边的表获取左边表的数据,显示主键信息没有问题,但是获取不到数据,是不是find的表达式有问题? 谢谢! 代码: ...... ’获取数据 Dim drs As List(of DataRow) = DataTables("批量预测").SQLSelect("代码 = \'" & dm & "\'" ) Dim i0 As Integer = 0 ’预设本行的主键值 For Each dr As DataRow In drs Dim dr01 As DataRow = DataTables("导入数据").SQLFind("代码 = \'" & dm & "\' And 日期 = \'" & dr("日期") & "\'" ) If dr01 IsNot Nothing Then dr("实际涨跌幅") = dr01("涨跌幅") dr("换手率") = dr01("换手率") i0 = dr("_Identify") ’本行的主键值 End If Dim dr02 As DataRow = DataTables("导入数据").SQLFind("[_Identify] = i0 +1 ") ’下1行 If dr02 IsNot Nothing Then dr("上1日换手率") = dr02("换手率") End If Dim dr002 As DataRow = DataTables("导入数据").SQLFind("[_Identify] = i0 +2 ") ’下2行 If dr002 IsNot Nothing Then dr("上2日换手率") = dr002("换手率") End If Dim dr003 As DataRow = DataTables("导入数据").SQLFind("[_Identify] = i0 +3 ") ’下3行 If dr003 IsNot Nothing Then dr("上3日换手率") = dr003("换手率") End If Next |
-- 作者:有点蓝 -- 发布时间:2020/9/8 9:38:00 -- 自增主键不是按顺序增加的,很可能会跳号。建议使用自己的顺序号处理业务,不要使用[_Identify]做业务处理 |
-- 作者:天一生水 -- 发布时间:2020/9/8 11:09:00 -- 谢谢老师! 在 DataRow 里也有行的概念,但是Index是row的属性,DataRow 的所在行数怎么弄? Dim dr As
DataRow |
-- 作者:有点蓝 -- 发布时间:2020/9/8 11:23:00 -- DataTable的顺序是乱的,不存在行号这种东西,请使用自己自定义的顺序号处理业务 |