⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form5.frm

📁 vb 编写的直接读取连个数据库进行表表读写达到数据同步
💻 FRM
📖 第 1 页 / 共 5 页
字号:


    Set rs_SDM2 = New ADODB.Recordset
    sql_SDM2 = "select HEAT_NO,GE_NO,SG_CD,PIG_WEIG_CAL,STEEL_WEIG_CAL,O2_VOL_TOT_CAL,O2_VOL_TOT_OPER from tc_heat_data where  HEAT_NO ='" & Trim(Heat_No_Write) & "' "
    rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic

    If rs_SDM2.RecordCount <> 0 Then
        j = rs_SDM2.RecordCount
        ReDim Heat_Data(6)
        rs_SDM2.MoveFirst
            For i = 0 To 6
                If IsNull(rs_SDM2.Fields(i)) = True Then
                    Heat_Data(i) = 0
                Else
                     Heat_Data(i) = rs_SDM2.Fields(i)
                End If
            Next i
            rs_SDM2.MoveNext



            Set rs_CCM2 = New ADODB.Recordset
            sql_CCM2 = "select HEAT_NO,GE_NO,SG_CD,PIG_WEIG_CAL,STEEL_WEIG_CAL,O2_VOL_TOT_CAL,O2_VOL_TOT_OPER  from tc_heat_data where heat_no='" & Trim(Heat_Data(0)) & "' "
            rs_CCM2.Open sql_CCM2, cn_CCM2, adOpenStatic, adLockOptimistic

            If rs_CCM2.RecordCount <> 0 Then
                    For i = 0 To 6
                       rs_CCM2.Fields(i) = Heat_Data(i)
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
               Else
                  rs_CCM2.AddNew
                  For i = 0 To 2
                     rs_CCM2.Fields(i) = Heat_Data(i)
                  Next i
                  rs_CCM2.Update
                  rs_CCM2.Close
            End If

    End If
    
    
  ''''返回三级数据----------'''L3LGSJ_FROM_WG


    Dim LCH As String
    LCH = Mid(Year(Date), 3, 1) + Trim(Heat_No_Write)
    
    Set rs_SDM2 = New ADODB.Recordset
    sql_SDM2 = "select * from L3LGSJ_FROM_WG where  LCH ='" & Trim(LCH) & "' "
    rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic

    If rs_SDM2.RecordCount <> 0 Then
        j = rs_SDM2.RecordCount
        ReDim L2_TO_L3_Data(14)
        rs_SDM2.MoveFirst
            For i = 0 To 14
                If IsNull(rs_SDM2.Fields(i)) = True Then
                    L2_TO_L3_Data(i) = 0
                Else
                    L2_TO_L3_Data(i) = rs_SDM2.Fields(i)
                End If
            Next i
       '     rs_SDM2.MoveNext


            Set rs_CCM2 = New ADODB.Recordset
            sql_CCM2 = "select * from L3LGSJ_FROM_WG where  LCH ='" & Trim(LCH) & "' order by XRSYTDATE"
            rs_CCM2.Open sql_CCM2, cn_CCM2, adOpenStatic, adLockOptimistic

            If rs_CCM2.RecordCount <> 0 Then
                   rs_CCM2.MoveFirst
                    For i = 0 To 14
                       rs_CCM2.Fields(i) = L2_TO_L3_Data(i)
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
               Else
                  rs_CCM2.AddNew
                  For i = 0 To 14
                     rs_CCM2.Fields(i) = L2_TO_L3_Data(i)
                  Next i
                  rs_CCM2.Update
                  rs_CCM2.Close
            End If

    End If
    
    
    
    
    '''''向原系统 写动态系数----------------------------------------------------------------
  
    If Check3.Value = 1 Then
    
        Set rs_SDM2 = New ADODB.Recordset
        sql_SDM2 = "select * from tb_dyn_coef where conv_no=3 order by CONV_NO,dyn_no"  '动态计算系数
        rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic
        
        If rs_SDM2.RecordCount <> 0 Then
            j = rs_SDM2.RecordCount
            ReDim dyn_coef_to_ccm(0 To j - 1, 0 To 12)
            rs_SDM2.MoveFirst
            For l = 0 To j - 1
                For i = 0 To 12
                    If IsNull(rs_SDM2.Fields(i)) = True Then
                        dyn_coef_to_ccm(l, i) = 0
                    Else
                        dyn_coef_to_ccm(l, i) = rs_SDM2.Fields(i)
                    End If
                Next i
                rs_SDM2.MoveNext
            Next l
         End If
    
      
          Set rs_CCM2 = New ADODB.Recordset
            For l = 0 To j - 1
                'sql2_new = "select * from tb_dyn_coef where CONV_NO='" & Trim(dyn_coef(l, 0)) & "'and dyn_no='" & Trim(dyn_coef(l, 1)) & "' "
                sql_CCM2 = "select * from tb_dyn_coef where CONV_NO=1 and dyn_no='" & Trim(dyn_coef_to_ccm(l, 1)) & "' "
    
                rs_CCM2.Open sql_CCM2, cn_CCM2, adOpenStatic, adLockOptimistic
                If rs_CCM2.RecordCount <> 0 Then
                   For i = 2 To 12
                      rs_CCM2.Fields(i) = dyn_coef_to_ccm(l, i)
                   Next i
                   rs_CCM2.Update
                   rs_CCM2.Close
                   Else
                      rs_CCM2.AddNew
                      For i = 1 To 12
                         rs_CCM2.Fields(i) = dyn_coef_to_ccm(l, i)
                      Next i
                      rs_CCM2.Fields(0) = 3
                      rs_CCM2.Update
                      rs_CCM2.Close
                End If
    
            Next l

    End If
    
    
    
    OK_Num_Cal = OK_Num_Cal + 1
    Label20.Caption = "写计算值_成功次数: " + Trim(OK_Num_Cal)
    If OK_Num_Cal >= 7000 Then OK_Num_Cal = 0
    Exit Sub
     
CalError:
    Beep

    Error_Num_Cal = Error_Num_Cal + 1
    If Error_Num_Cal >= 7000 Then Error_Num_Cal = 0
    Label21.Caption = "写计算值_失败次数: " + Trim(Error_Num_Cal)
    Label17.Caption = "错误信息:" + Err.Description
End Sub
Private Sub Read_Para()

On Error GoTo LinkError
    Dim n
    
    Label26.Caption = " "
    
    Call Link_Oracle_Para
    n = 1
    Call Init_Para(n)
    
    
    OK_Num_Para = OK_Num_Para + 1
    Label24.Caption = "读钢种_成功次数: " + Trim(OK_Num_Para)
    If OK_Num_Para >= 7000 Then OK_Num_Para = 0
    Exit Sub
     
    
LinkError:
    Beep

    Error_Num_Para = Error_Num_Para + 1
    If Error_Num_Para >= 7000 Then Error_Num_Para = 0
    Label25.Caption = "读钢种_失败次数: " + Trim(Error_Num_Para)
    Label26.Caption = "错误信息:" + Err.Description
End Sub

Public Sub Link_Oracle_Read()      '''读数据

On Error GoTo LinkError

    HEAT_NO_0 = ""
    HEAT_NO_1 = ""
    HEAT_NO_2 = ""
    
    Set cn_CCM = New Connection     '在线库
        cn_CCM.ConnectionTimeout = 1
        cn_CCM.CursorLocation = adUseClient
        cn_CCM.Open "Provider=MSDAORA.1;password=l2bof;user ID=bof2;data source=bofdb1;Persist Security Info=True"

    Set cn_SDM = New Connection  '自己库
        cn_SDM.ConnectionTimeout = 1
        cn_SDM.CursorLocation = adUseClient
        cn_SDM.Open "Provider=MSDAORA.1;password=yyqqcgywqlhs;user ID=bof_sys;data source=bofdb;Persist Security Info=True"

    Label8.Caption = "通讯状态:OK"
    
    
        '+0炉次的号''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
      
    Set rs_CCM = New ADODB.Recordset
    sql_CCM = "select * from tc_heat_number order by rec  "
    rs_CCM.Open sql_CCM, cn_CCM, adOpenStatic, adLockOptimistic
    
    If rs_CCM.RecordCount <> 0 Then
        rs_CCM.MoveFirst
        HEAT_NO_0 = rs_CCM.Fields("HEAT_NO")
        HEAT_NO_1 = Trim(Val(HEAT_NO_0) + 1)
        HEAT_NO_2 = Trim(Val(HEAT_NO_0) + 2)
    End If
    rs_CCM.Close
    
    
     Exit Sub
     
LinkError:
    Beep
    Label17.Caption = "错误信息:" + Err.Description
    
End Sub

Public Sub Link_Oracle_Write()      '''写数据

On Error GoTo LinkError

    HEAT_NO2_0 = ""
    HEAT_NO2_1 = ""
    HEAT_NO2_2 = ""
    

    Set cn_CCM2 = New Connection     '在线库
        cn_CCM2.ConnectionTimeout = 1
        cn_CCM2.CursorLocation = adUseClient
        cn_CCM2.Open "Provider=MSDAORA.1;password=l2bof;user ID=bof2;data source=bofdb1;Persist Security Info=True"

    Set cn_SDM2 = New Connection  '自己库
        cn_SDM2.ConnectionTimeout = 1
        cn_SDM2.CursorLocation = adUseClient
        cn_SDM2.Open "Provider=MSDAORA.1;password=yyqqcgywqlhs;user ID=bof_sys;data source=bofdb;Persist Security Info=True"

    Label8.Caption = "通讯状态:OK"


    '+0炉次的号''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    Set rs_SDM2 = New ADODB.Recordset
    sql_SDM2 = "select * from tc_heat_number order by rec  "
    rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic
    
    If rs_SDM2.RecordCount <> 0 Then
        rs_SDM2.MoveFirst
        HEAT_NO2_0 = rs_SDM2.Fields("HEAT_NO")
        HEAT_NO2_1 = Trim(Val(HEAT_NO2_0) + 1)
        HEAT_NO2_2 = Trim(Val(HEAT_NO2_0) + 2)
    End If
    
    
    
     '先置0''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    If SYS_SDM_ON_BE = 0 Then
        Set rs_SDM2 = New ADODB.Recordset
        sql_SDM2 = "select * from TC_SEQUENCE_EVENT   "
        rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic
        
        If rs_SDM2.RecordCount <> 0 Then
            rs_SDM2.MoveFirst
            rs_SDM2.Fields("SYS_SDM_ON") = 0
            rs_SDM2.Update
            rs_SDM2.Close
        End If
    End If
    
      '系统是否投入''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    Set rs_SDM2 = New ADODB.Recordset
    sql_SDM2 = "select * from TC_SEQUENCE_EVENT   "
    rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic
    
    If rs_SDM2.RecordCount <> 0 Then
        rs_SDM2.MoveFirst
        If IsNull(rs_SDM2.Fields("SYS_SDM_ON")) = True Then
            SYS_SDM_ON = 0
           Else
            SYS_SDM_ON = rs_SDM2.Fields("SYS_SDM_ON")
            
        End If

    End If
    
    
    SYS_SDM_ON_BE = 1
    
     Exit Sub
     
LinkError:
    Beep
    Label17.Caption = "错误信息:" + Err.Description
    
End Sub
Public Sub Link_Oracle_Para()      '''读参数

On Error GoTo LinkError

    Set cn = New Connection     '在线库
        cn.ConnectionTimeout = 1
        cn.CursorLocation = adUseClient
        cn.Open "Provider=MSDAORA.1;password=l2bof;user ID=bof2;data source=bofdb1;Persist Security Info=True"
    
    Set cn_new = New Connection  '自己库
        cn_new.ConnectionTimeout = 1
        cn_new.CursorLocation = adUseClient
        cn_new.Open "Provider=MSDAORA.1;password=yyqqcgywqlhs;user ID=bof_sys;data source=bofdb;Persist Security Info=True"
    
    
     Exit Sub
     
LinkError:
    Beep
    Label17.Caption = "错误信息:" + Err.Description
    
End Sub

Private Sub Timer2_Timer()
    Call SDM_TO_CCM
End Sub
 Private Sub Init_Para(ByVal num)
  
    '+0炉次的号''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
'    Set rs2 = New ADODB.Recordset
'    sql2 = "select * from tc_heat_number order by rec  "
'    rs2.Open sql2, cn, adOpenStatic, adLockOptimistic
'
'    If rs2.RecordCount <> 0 Then
'        rs2.MoveFirst
'        HEAT_NO_0 = rs2.Fields("HEAT_NO")
'    End If



  
     ''''计算边界条件----------------------------------------------------------------
'     Set rs2 = New ADODB.Recordset
'        sql2 = "select * from tb_limited_const "
'        rs2.Open sql2, cn, adOpenStatic, adLockOptimistic
'     If rs2.RecordCount <> 0 Then
'        rs2.MoveFirst
'        For i = 0 To 69
'          If IsNull(rs2.Fields(i)) = True Then
'              limited_const(i) = 0
'          Else
'             limited_const(i) = rs2.Fields(i)
'          End If
'
'        Next i
'     End If
'
'     Set rs2_new = New ADODB.Recordset
'        sql2_new = "select * from tb_limited_const "
'        rs2_new.Open sql2_new, cn_new, adOpenStatic, adLockOptimistic
'     If rs2_new.RecordCount <> 0 Then
'        rs2_new.MoveFirst
'        For i = 0 To 69
'           rs2_new.Fields(i) = limited_const(i)
'        Next i
'        rs2_new.Update
'     End If


    ''''温度校正系数----------------------------------------------------------------

     Set rs2 = New ADODB.Recordset
        sql2 = "select * from tb_temp_cal_coef "
        rs2.Open sql2, cn, adOpenStatic, adLockOptimistic
     If rs2.RecordCount <> 0 Then
        rs2.MoveFirst
        For i = 0 To 43
          If IsNull(rs2.Fields(i)) = True Then
             temp_cal_coef(i) = 0
          Else
             temp_cal_coef(i) = rs2.Fields(i)
          End If

        Next i
     End If

     Set rs2_new = New ADODB.Recordset
        sql2_new = "select * from tb_temp_cal_coef "
        rs2_new.Open sql2_new, cn_new, adOpenStatic, adLockOptimistic
     If rs2_new.RecordCount <> 0 Then
        rs2_new.MoveFirst
        For i = 0 To 43
          If IsNull(rs2_new.Fields(i)) = True Then rs2_new.Fields(i) = 0
             rs2_new.Fields(i) = temp_cal_coef(i)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -