Sub Insert_livedata (m As Map)
Dim pair As String = m.Get("pair")
Dim rs As ResultSet
Dim diff As Double
Dim rowid As Int
sql3.ExecNonQuery2("UPDATE table2 Set p1a = ?, p1b = ?, p1av = ?, p1bv = ? WHERE p1 = ?", Array As Object(m.Get ("a"), m.Get("b"), m.Get ("av"),m.Get("bv"),p))
sql3.ExecNonQuery2("UPDATE table2 Set p2a = ?, p2b = ?, p2av = ?, p2bv = ? WHERE p2 = ?", Array As Object(m.Get ("a"), m.Get("b"), m.Get ("av"),m.Get("bv"),p))
sql3.ExecNonQuery2("UPDATE table2 Set p3a = ?, p3b = ?, p3av = ?, p3bv = ? WHERE p3 = ?", Array As Object(m.Get ("a"), m.Get("b"), m.Get ("av"),m.Get("bv"),p))
rs = sql3.ExecQuery2("SELECT rowid FROM table2 WHERE (p1 = ?) OR (p2 = ?) OR (p3 = ?)", Array As String(p, p, p))
Do While rs.NextRow
rowid = (rs.GetInt ("rowid"))
Dim diffmap As Map = Find_difference (rowid)
Update_diff (diffmap,rowid)
Loop
rs.Close
End Sub
Sub Update_diff (m As Map,rowid As Int)
Dim diff As Double = m.Get("diff")
Dim p1 As String = m.Get("p1")
Dim p2 As String = m.Get("p2")
Dim p3 As String = m.Get("p3")
Dim logic As String = sql3.ExecQuerySingleResult2 ("SELECT logic FROM table2 WHERE rowid = ?", Array As String (rowid))
Dim c1 As String = sql3.ExecQuerySingleResult2 ("SELECT p1 FROM table2 WHERE rowid = ?", Array As String (rowid))
Dim c2 As String = sql3.ExecQuerySingleResult2 ("SELECT p2 FROM table2 WHERE rowid = ?", Array As String (rowid))
Dim c3 As String = sql3.ExecQuerySingleResult2 ("SELECT p3 FROM table2 WHERE rowid = ?", Array As String (rowid))
diff = NumberFormat2(diff,1,8,8,False)
Dim p As String = rowid & ": " & c1 & "/" & c2 & "/" & c3
sql3.ExecNonQuery2 ("UPDATE table2 Set difference = ? WHERE rowid = ?", Array As Object (diff, rowid))
Dim writestring As String = (p & " - " & " p1a: " & p1 & " p2b: " & p2 & " p3a: " & p3 & " " & sql3.ExecQuerySingleResult ("SELECT difference FROM table2 WHERE rowid = " & (rowid)))
tx.WriteLine (DateTime.Time(DateTime.Now) & " " & writestring)
End Sub
Sub Find_difference (rowid As Int) As Map
Dim diff As Double
Dim p1 As Double
Dim p2 As Double
Dim p3 As Double
Dim logic As String
logic = sql3.ExecQuerySingleResult2 ("SELECT logic FROM table2 WHERE rowid = ?", Array As String (rowid))
If logic.StartsWith ("da") Then
p1 = sql3.ExecQuerySingleResult2 ("SELECT p1a FROM table2 WHERE rowid = ?", Array As String (rowid))
Else
p1 = sql3.ExecQuerySingleResult2 ("SELECT p1b FROM table2 WHERE rowid = ?", Array As String (rowid))
End If
If logic.SubString2(2,4) = "da" Then
p2 = sql3.ExecQuerySingleResult2 ("SELECT p2a FROM table2 WHERE rowid = ?", Array As String (rowid))
Else
p2 = sql3.ExecQuerySingleResult2 ("SELECT p2b FROM table2 WHERE rowid = ?", Array As String (rowid))
End If
If logic.EndsWith ("da") Then
p3 = sql3.ExecQuerySingleResult2 ("SELECT p3a FROM table2 WHERE rowid = ?", Array As String (rowid))
Else
p3 = sql3.ExecQuerySingleResult2 ("SELECT p3b FROM table2 WHERE rowid = ?", Array As String (rowid))
End If
diff = NumberFormat2(p1*p2*p3,1,8,8,False)
Dim m As Map
m.Initialize
m.Put ("diff",diff)
m.Put ("p1", p1)
m.Put ("p2", p2)
m.Put ("p3", p3)
Return m
End Sub