Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

OLEDB performance hit 2

Status
Not open for further replies.

Fred48

Programmer
Feb 23, 2004
62
US
Hi,

We are converting our application to use to OLEDB from ADODB. The application is written in VB 2005 and storing data in Access tables. Our problem is after writing the code and started unit testing we notice a big hit in performance. Below is a snippet of our code:

START OF CODE -------

strSQL = "INSERT INTO SPH(" & _
"[TGSN], " & _
.
.
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
.
.

Using cmd As New OleDbCommand(strSQL, cnnNew)
cmd.Parameters.AddWithValue("TGSN", Downloaded_Rec_SPH.tgsn)
If arrSPH_Weeks_Detail(0).Trks_In_Svc = "99999" Then
cmd.Parameters.AddWithValue("TRKS_IN_SVC_1", " ")
Else
cmd.Parameters.AddWithValue("TRKS_IN_SVC_1", arrSPH_Weeks_Detail(0).Trks_In_Svc)
End If
.
.
.
cmd.ExecuteNonQuery()

End Using

END OF CODE -----------

This table has approxiatley 182 fields, we have 22,000 records and it took 9 mintues. Using ADODB the same number of records it took 3 minutes.

If someone could provide some guidance on this it would greatly be appreciated.
 
Can you post the original code? Was the original code written in VB.Net or VB6/VBA?
 
Hi,

The original code was also in VB 2005. Other than using OLEDB the new code was wrapped around a Using - End Using. Here is a snippet of the original code:

mytable.AddNew()
mytable.Fields("TGSN").Value = Downloaded_Rec_SPH.tgsn
If arrSPH_Weeks_Detail(0).Trks_In_Svc = "99999" Then
mytable.Fields("TRKS_IN_SVC_1").Value = " "
Else
mytable.Fields("TRKS_IN_SVC_1").Value = arrSPH_Weeks_Detail(0).Trks_In_Svc
End If
.
.
mytable.Update()
 
OK, and I assume that somewhere in your code, you've got a loop with approximately 22,000 iterations which is calling the same code over and over, but with different values?
 
I just ran a test. Much narrower table than you have. ADO = 1 second. ADO.Net = 13 seconds. I didn't expect the difference to be this great. I'm not sure what makes it quite this great. I'll have to try a test against SQL Server later to see if it's more on the implementation to Jet or simply ADO.Net itself.

One other thing to check into would be if Access has Bulk Insert ability. I don't work with Access so I don't know. But I do use the .Net Bulk Insert objects against SQL Server quite a bit, and this is really fast.

Here's my test code if you are interested.
Code:
 Private Sub btnADODotNet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnADODotNet.Click
        Dim StartTime As DateTime = DateTime.Now
        Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TestDataAccessMethods.mdb;User Id=admin;Password=;")
        Dim cmd As New OleDb.OleDbCommand
        With cmd
            .Connection = con
            .CommandType = CommandType.Text
            .CommandText = "INSERT INTO Table1 (Column1, Column2) SELECT ?, ?"
            .Parameters.AddWithValue("Column1", 45)
            .Parameters.AddWithValue("Column2", "hello world")
        End With
        con.Open()
        For i As Integer = 0 To 22000
            cmd.ExecuteNonQuery()
        Next
        con.Close()
        cmd.Dispose()
        cmd = Nothing
        con.Dispose()
        con = Nothing
        Dim EndTime As DateTime = DateTime.Now
        MessageBox.Show("Start:  " & StartTime.ToLongTimeString & ControlChars.CrLf & "End:  " & EndTime.ToLongTimeString)
    End Sub

    Private Sub btnADO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnADO.Click
        Dim StartTime As DateTime = DateTime.Now
        Dim con As New ADODB.Connection
        con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TestDataAccessMethods.mdb;User Id=admin;Password=;"
        con.Open()
        Dim rs As New ADODB.Recordset
        rs.ActiveConnection = con
        rs.Open("SELECT * FROM Table2", con, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)

        For i As Integer = 0 To 22000
            With rs
                .AddNew()
                .Fields("Column1").Value = 45
                .Fields("Column2").Value = "hello world"
                .Update()
            End With
        Next

        rs.Close()
        rs = Nothing
        con.Close()
        con = Nothing
        Dim EndTime As DateTime = DateTime.Now
        MessageBox.Show("Start:  " & StartTime.ToLongTimeString & ControlChars.CrLf & "End:  " & EndTime.ToLongTimeString)
    End Sub
 
Hi RiverGuy,

Sorry for not getting back to you sooner, but yes there is a DO LOOP to read the records. I noticed you experience a big difference in processing. Happy to head that because it confirms out test results, but sorry for the client who will experience increase processing time.

I look forward to seeing the results of SQL Server. This might be something we have to look into.

Thanks again!!!
 
With SQL Server, you would be able to use Bulk Insert to import data in to the table, probably getting millions of rows in import in a second (or less).

Which actually gets me to thinking....

You don't say where this data is coming from. I presume you are reading the data from a file and importing it to Access. I would be willing to bet that there is a method for importing large amounts of data in to an Access database.

-George

"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
I just tested against SQL Server. I made three runs each.

ADO averaged about 17 seconds.
ADO.Net averaged 14 seconds.
ADO.Net/SqlClient Bulk Copy objects took 5 seconds, 0 seconds, and 0 seconds. This includes time to load up a DataTable into memory with a loop of 22,000 iterations to use as the memory stream source for the Bulk Copy operation.

For the regular ADO.Net operations, SQL Server will of course log all of those inserts to the transaction log, which I presume Access doesn't worry about (maybe George can confirm that, I'm not an Access expert). So this in and of itself will add time to the import.

If your application's sole function is to move this data into a database, then you might want to look at SQL Server or SQL Server Express. If this is just a small piece of the application, then you probably don't have a business case justification to move it to a different RDBMS for the import performance alone. You could either stick with ADODB for this one piece of your application, or you could create a program with ADODB in a more Active-X friendly language such as VB6, and call this program from your .Net program.

 
Greeg,

The data is coming from a file downlaoded from a mainframe. The input file is read and then the table is populated. Some fields are checked and certain values and replaced in the table. I am not sure what you mean by "Import".
 
If you begin a transaction before importing data and end it later, the batch will get logged instead of the individual inserts, which should make things even faster.


-George

"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
gmmastros said:
If you begin a transaction before importing data and end it later, the batch will get logged instead of the individual inserts, which should make things even faster.

Good call. Wrapping all 22,000 inserts into a transaction takes 3 seconds using the standard ADO.Net .ExecuteNonQuery() method.
 
From 13 seconds down to 3 seconds? That's quite a difference.


-George

"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
14 -> 3 for SQL Server. Amazingly, the ADO.Net/SQL Server combo is extremely consistent. I think I had 14/14/14 and 3/3/3.

If I use an OleDB transaction for the Access test, it takes about 8 seconds.
 
Hi,

I tried using Transactions and the time did not improve. Below is the actual code for updating one of the tables:



<Start of Code>

Dim Transaction As OleDbTransaction = cnnNew.BeginTransaction

Do While more_record

strSQL = "INSERT INTO FI(" & _
"[TGSN], " & _
"[MEAS_PRD], " & _
"[BASE_YEAR], " & _
"[REQ_MO1], " & _
"[REQ_TRKS1], " & _
"[REQ_MO2], " & _
"[REQ_TRKS2], " & _
"[REQ_MO3], " & _
"[REQ_TRKS3], " & _
"[REQ_MO4], " & _
"[REQ_TRKS4], " & _
"[REQ_MO5], " & _
"[REQ_TRKS5], " & _
"[REQ_MO6], " & _
"[REQ_TRKS6]) " & _
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"

Using cmd As New OleDbCommand(strSQL, cnnNew)
cmd.Transaction = Transaction
cmd.Parameters.AddWithValue("TGSN", Downloaded_Rec_FI.tgsn)
cmd.Parameters.AddWithValue("MEAS_PRD", Downloaded_Rec_FI.meas_prd)
cmd.Parameters.AddWithValue("BASE_YEAR", Downloaded_Rec_FI.Base_Year)
cmd.Parameters.AddWithValue("REQ_MO1", arrForecastYears(0).Req_Mo)
cmd.Parameters.AddWithValue("REQ_TRKS1", arrForecastYears(0).Req_Trks)
cmd.Parameters.AddWithValue("REQ_MO2", arrForecastYears(1).Req_Mo)
cmd.Parameters.AddWithValue("REQ_TRKS2", arrForecastYears(1).Req_Trks)
cmd.Parameters.AddWithValue("REQ_MO3", arrForecastYears(2).Req_Mo)
cmd.Parameters.AddWithValue("REQ_TRKS3", arrForecastYears(2).Req_Trks)
cmd.Parameters.AddWithValue("REQ_MO4", arrForecastYears(3).Req_Mo)
cmd.Parameters.AddWithValue("REQ_TRKS4", arrForecastYears(3).Req_Trks)
cmd.Parameters.AddWithValue("REQ_MO5", arrForecastYears(4).Req_Mo)
cmd.Parameters.AddWithValue("REQ_TRKS5", arrForecastYears(4).Req_Trks)
cmd.Parameters.AddWithValue("REQ_MO6", arrForecastYears(5).Req_Mo)
cmd.Parameters.AddWithValue("REQ_TRKS6", arrForecastYears(5).Req_Trks)

cmd.ExecuteNonQuery()


End Using

Loop

Transaction.Commit()

<End of Code>

So, is this in the correct format?

 
HI,

I tried with the transaction and I DID not get an improvement in time. It took about7 mintues to read 22,000 records and insert them into a table. Below is my entire code for loading this table, it is quite extensive because of the number of fields. I must be missing something.


Dim strSQL As String
Dim Transaction As OleDbTransaction = cnnNew.BeginTransaction

Do While more_record

strSQL = "INSERT INTO IM(" & _
"[TGSN], " & _
"[MEAS_PRD], " & _
"[DCU], " & _
"[DCD], " & _
"[TDAS], " & _
"[MEAS_TYPE], " & _
"[AZ_END], " & _
"[UNASSOC_IND], " & _
"[VAL_CD1_1], " & _
"[MEASUREMENT1_1], " & _
"[VAL_CD2_1], " & _
"[MEASUREMENT2_1], " & _
"[VAL_CD3_1], " & _
"[MEASUREMENT3_1], " & _
"[VAL_CD4_1], " & _
"[MEASUREMENT4_1], " & _
"[VAL_CD5_1], " & _
"[MEASUREMENT5_1], " & _
"[VAL_CD6_1], " & _
"[MEASUREMENT6_1], " & _
"[VAL_CD7_1], " & _
"[MEASUREMENT7_1], " & _
"[VAL_CD8_1], " & _
"[MEASUREMENT8_1], " & _
"[VAL_CD9_1], " & _
"[MEASUREMENT9_1], " & _
"[VAL_CD10_1], " & _
"[MEASUREMENT10_1], " & _
"[VAL_CD11_1], " & _
"[MEASUREMENT11_1], " & _
"[VAL_CD12_1], " & _
"[MEASUREMENT12_1], " & _
"[VAL_CD13_1], " & _
"[MEASUREMENT13_1], " & _
"[VAL_CD14_1], " & _
"[MEASUREMENT14_1], " & _
"[VAL_CD15_1], " & _
"[MEASUREMENT15_1], " & _
"[VAL_CD16_1], " & _
"[MEASUREMENT16_1], " & _
"[VAL_CD17_1], " & _
"[MEASUREMENT17_1], " & _
"[VAL_CD18_1], " & _
"[MEASUREMENT18_1], " & _
"[VAL_CD19_1], " & _
"[MEASUREMENT19_1], " & _
"[VAL_CD20_1], " & _
"[MEASUREMENT20_1], " & _
"[VAL_CD21_1], " & _
"[MEASUREMENT21_1], " & _
"[VAL_CD22_1], " & _
"[MEASUREMENT22_1], " & _
"[VAL_CD23_1], " & _
"[MEASUREMENT23_1], " & _
"[VAL_CD24_1], " & _
"[MEASUREMENT24_1], " & _
"[VAL_CD1_2], " & _
"[MEASUREMENT1_2], " & _
"[VAL_CD2_2], " & _
"[MEASUREMENT2_2], " & _
"[VAL_CD3_2], " & _
"[MEASUREMENT3_2], " & _
"[VAL_CD4_2], " & _
"[MEASUREMENT4_2], " & _
"[VAL_CD5_2], " & _
"[MEASUREMENT5_2], " & _
"[VAL_CD6_2], " & _
"[MEASUREMENT6_2], " & _
"[VAL_CD7_2], " & _
"[MEASUREMENT7_2], " & _
"[VAL_CD8_2], " & _
"[MEASUREMENT8_2], " & _
"[VAL_CD9_2], " & _
"[MEASUREMENT9_2], " & _
"[VAL_CD10_2], " & _
"[MEASUREMENT10_2], " & _
"[VAL_CD11_2], " & _
"[MEASUREMENT11_2], " & _
"[VAL_CD12_2], " & _
"[MEASUREMENT12_2], " & _
"[VAL_CD13_2], " & _
"[MEASUREMENT13_2], " & _
"[VAL_CD14_2], " & _
"[MEASUREMENT14_2], " & _
"[VAL_CD15_2], " & _
"[MEASUREMENT15_2], " & _
"[VAL_CD16_2], " & _
"[MEASUREMENT16_2], " & _
"[VAL_CD17_2], " & _
"[MEASUREMENT17_2], " & _
"[VAL_CD18_2], " & _
"[MEASUREMENT18_2], " & _
"[VAL_CD19_2], " & _
"[MEASUREMENT19_2], " & _
"[VAL_CD20_2], " & _
"[MEASUREMENT20_2], " & _
"[VAL_CD21_2], " & _
"[MEASUREMENT21_2], " & _
"[VAL_CD22_2], " & _
"[MEASUREMENT22_2], " & _
"[VAL_CD23_2], " & _
"[MEASUREMENT23_2], " & _
"[VAL_CD24_2], " & _
"[MEASUREMENT24_2], " & _
"[VAL_CD1_3], " & _
"[MEASUREMENT1_3], " & _
"[VAL_CD2_3], " & _
"[MEASUREMENT2_3], " & _
"[VAL_CD3_3], " & _
"[MEASUREMENT3_3], " & _
"[VAL_CD4_3], " & _
"[MEASUREMENT4_3], " & _
"[VAL_CD5_3], " & _
"[MEASUREMENT5_3], " & _
"[VAL_CD6_3], " & _
"[MEASUREMENT6_3], " & _
"[VAL_CD7_3], " & _
"[MEASUREMENT7_3], " & _
"[VAL_CD8_3], " & _
"[MEASUREMENT8_3], " & _
"[VAL_CD9_3], " & _
"[MEASUREMENT9_3], " & _
"[VAL_CD10_3], " & _
"[MEASUREMENT10_3], " & _
"[VAL_CD11_3], " & _
"[MEASUREMENT11_3], " & _
"[VAL_CD12_3], " & _
"[MEASUREMENT12_3], " & _
"[VAL_CD13_3], " & _
"[MEASUREMENT13_3], " & _
"[VAL_CD14_3], " & _
"[MEASUREMENT14_3], " & _
"[VAL_CD15_3], " & _
"[MEASUREMENT15_3], " & _
"[VAL_CD16_3], " & _
"[MEASUREMENT16_3], " & _
"[VAL_CD17_3], " & _
"[MEASUREMENT17_3], " & _
"[VAL_CD18_3], " & _
"[MEASUREMENT18_3], " & _
"[VAL_CD19_3], " & _
"[MEASUREMENT19_3], " & _
"[VAL_CD20_3], " & _
"[MEASUREMENT20_3], " & _
"[VAL_CD21_3], " & _
"[MEASUREMENT21_3], " & _
"[VAL_CD22_3], " & _
"[MEASUREMENT22_3], " & _
"[VAL_CD23_3], " & _
"[MEASUREMENT23_3], " & _
"[VAL_CD24_3], " & _
"[MEASUREMENT24_3], " & _
"[VAL_CD1_4], " & _
"[MEASUREMENT1_4], " & _
"[VAL_CD2_4], " & _
"[MEASUREMENT2_4], " & _
"[VAL_CD3_4], " & _
"[MEASUREMENT3_4], " & _
"[VAL_CD4_4], " & _
"[MEASUREMENT4_4], " & _
"[VAL_CD5_4], " & _
"[MEASUREMENT5_4], " & _
"[VAL_CD6_4], " & _
"[MEASUREMENT6_4], " & _
"[VAL_CD7_4], " & _
"[MEASUREMENT7_4], " & _
"[VAL_CD8_4], " & _
"[MEASUREMENT8_4], " & _
"[VAL_CD9_4], " & _
"[MEASUREMENT9_4], " & _
"[VAL_CD10_4], " & _
"[MEASUREMENT10_4], " & _
"[VAL_CD11_4], " & _
"[MEASUREMENT11_4], " & _
"[VAL_CD12_4], " & _
"[MEASUREMENT12_4], " & _
"[VAL_CD13_4], " & _
"[MEASUREMENT13_4], " & _
"[VAL_CD14_4], " & _
"[MEASUREMENT14_4], " & _
"[VAL_CD15_4], " & _
"[MEASUREMENT15_4], " & _
"[VAL_CD16_4], " & _
"[MEASUREMENT16_4], " & _
"[VAL_CD17_4], " & _
"[MEASUREMENT17_4], " & _
"[VAL_CD18_4], " & _
"[MEASUREMENT18_4], " & _
"[VAL_CD19_4], " & _
"[MEASUREMENT19_4], " & _
"[VAL_CD20_4], " & _
"[MEASUREMENT20_4], " & _
"[VAL_CD21_4], " & _
"[MEASUREMENT21_4], " & _
"[VAL_CD22_4], " & _
"[MEASUREMENT22_4], " & _
"[VAL_CD23_4], " & _
"[MEASUREMENT23_4], " & _
"[VAL_CD24_4], " & _
"[MEASUREMENT24_4], " & _
"[VAL_CD1_5], " & _
"[MEASUREMENT1_5], " & _
"[VAL_CD2_5], " & _
"[MEASUREMENT2_5], " & _
"[VAL_CD3_5], " & _
"[MEASUREMENT3_5], " & _
"[VAL_CD4_5], " & _
"[MEASUREMENT4_5], " & _
"[VAL_CD5_5], " & _
"[MEASUREMENT5_5], " & _
"[VAL_CD6_5], " & _
"[MEASUREMENT6_5], " & _
"[VAL_CD7_5], " & _
"[MEASUREMENT7_5], " & _
"[VAL_CD8_5], " & _
"[MEASUREMENT8_5], " & _
"[VAL_CD9_5], " & _
"[MEASUREMENT9_5], " & _
"[VAL_CD10_5], " & _
"[MEASUREMENT10_5], " & _
"[VAL_CD11_5], " & _
"[MEASUREMENT11_5], " & _
"[VAL_CD12_5], " & _
"[MEASUREMENT12_5], " & _
"[VAL_CD13_5], " & _
"[MEASUREMENT13_5], " & _
"[VAL_CD14_5], " & _
"[MEASUREMENT14_5], " & _
"[VAL_CD15_5], " & _
"[MEASUREMENT15_5], " & _
"[VAL_CD16_5], " & _
"[MEASUREMENT16_5], " & _
"[VAL_CD17_5], " & _
"[MEASUREMENT17_5], " & _
"[VAL_CD18_5], " & _
"[MEASUREMENT18_5], " & _
"[VAL_CD19_5], " & _
"[MEASUREMENT19_5], " & _
"[VAL_CD20_5], " & _
"[MEASUREMENT20_5], " & _
"[VAL_CD21_5], " & _
"[MEASUREMENT21_5], " & _
"[VAL_CD22_5], " & _
"[MEASUREMENT22_5], " & _
"[VAL_CD23_5], " & _
"[MEASUREMENT23_5], " & _
"[VAL_CD24_5], " & _
"[MEASUREMENT24_5]) " & _
"VALUES(?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," & _
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"


Using cmd As New OleDbCommand(strSQL, cnnNew)
cmd.Transaction = Transaction
cmd.Parameters.AddWithValue("TGSN", Downloaded_Rec_IM.tgsn)
cmd.Parameters.AddWithValue("MEAS_PRD", Downloaded_Rec_IM.meas_prd)
cmd.Parameters.AddWithValue("DCU", Downloaded_Rec_IM.DCU)
cmd.Parameters.AddWithValue("DCD", Downloaded_Rec_IM.DCD)
cmd.Parameters.AddWithValue("TDAS", Downloaded_Rec_IM.TDAS)
cmd.Parameters.AddWithValue("MEAS_TYPE", Downloaded_Rec_IM.Meas_type)
cmd.Parameters.AddWithValue("AZ_END", Downloaded_Rec_IM.AZ_end)
cmd.Parameters.AddWithValue("UNASSOC_IND", Downloaded_Rec_IM.Unassoc_Ind)
'
' change measurement flds checking from 5 to 7 positions
'
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(0).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD1_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD1_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(0).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(0).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT1_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT1_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(0).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(1).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD2_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD2_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(1).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(1).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT2_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT2_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(1).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(2).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD3_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD3_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(2).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(2).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT3_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT3_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(2).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(3).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD4_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD4_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(3).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(3).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT4_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT4_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(3).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(4).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD5_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD5_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(4).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(4).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT5_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT5_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(4).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(5).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD6_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD6_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(5).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(5).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT6_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT6_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(5).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(6).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD7_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD7_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(6).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(6).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT7_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT7_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(6).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(7).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD8_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD8_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(7).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(7).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT8_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT8_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(7).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(8).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD9_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD9_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(8).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(8).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT9_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT9_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(8).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(9).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD10_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD10_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(9).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(9).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT10_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT10_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(9).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(10).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD11_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD11_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(10).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(10).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT11_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT11_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(10).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(11).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD12_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD12_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(11).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(11).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT12_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT12_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(11).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(12).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD13_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD13_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(12).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(12).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT13_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT13_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(12).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(13).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD14_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD14_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(13).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(13).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT14_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT14_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(13).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(14).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD15_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD15_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(14).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(14).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT15_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT15_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(14).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(15).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD16_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD16_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(15).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(15).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT16_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT16_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(15).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(16).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD17_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD17_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(16).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(16).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT17_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT17_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(16).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(17).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD18_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD18_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(17).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(17).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT18_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT18_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(17).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(18).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD19_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD19_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(18).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(18).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT19_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT19_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(18).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(19).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD20_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD20_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(19).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(19).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT20_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT20_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(19).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(20).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD21_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD21_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(20).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(20).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT21_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT21_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(20).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(21).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD22_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD22_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(21).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(21).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT22_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT22_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(21).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(22).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD23_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD23_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(22).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(22).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT23_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT23_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(22).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(23).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD24_1", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD24_1", Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(23).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(23).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT24_1", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT24_1", Mid$(Downloaded_Rec_IM.Meas_Data(0).IM_Hour_Info(23).Measurement, 1, 7))
End If

If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(0).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD1_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD1_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(0).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(0).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT1_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT1_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(0).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(1).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD2_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD2_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(1).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(1).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT2_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT2_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(1).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(2).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD3_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD3_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(2).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(2).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT3_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT3_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(2).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(3).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD4_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD4_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(3).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(3).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT4_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT4_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(3).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(4).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD5_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD5_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(4).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(4).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT5_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT5_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(4).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(5).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD6_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD6_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(5).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(5).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT6_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT6_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(5).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(6).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD7_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD7_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(6).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(6).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT7_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT7_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(6).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(7).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD8_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD8_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(7).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(7).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT8_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT8_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(7).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(8).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD9_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD9_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(8).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(8).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT9_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT9_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(8).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(9).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD10_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD10_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(9).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(9).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT10_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT10_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(9).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(10).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD11_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD11_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(10).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(10).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT11_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT11_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(10).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(11).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD12_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD12_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(11).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(11).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT12_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT12_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(11).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(12).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD13_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD13_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(12).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(12).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT13_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT13_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(12).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(13).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD14_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD14_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(13).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(13).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT14_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT14_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(13).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(14).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD15_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD15_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(14).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(14).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT15_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT15_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(14).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(15).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD16_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD16_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(15).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(15).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT16_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT16_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(15).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(16).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD17_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD17_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(16).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(16).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT17_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT17_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(16).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(17).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD18_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD18_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(17).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(17).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT18_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT18_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(17).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(18).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD19_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD19_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(18).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(18).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT19_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT19_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(18).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(19).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD20_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD20_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(19).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(19).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT20_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT20_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(19).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(20).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD21_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD21_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(20).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(20).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT21_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT21_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(20).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(21).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD22_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD22_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(21).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(21).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT22_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT22_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(21).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(22).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD23_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD23_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(22).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(22).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT23_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT23_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(22).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(23).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD24_2", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD24_2", Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(23).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(23).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT24_2", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT24_2", Mid$(Downloaded_Rec_IM.Meas_Data(1).IM_Hour_Info(23).Measurement, 1, 7))
End If

If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(0).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD1_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD1_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(0).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(0).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT1_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT1_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(0).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(1).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD2_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD2_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(1).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(1).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT2_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT2_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(1).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(2).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD3_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD3_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(2).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(2).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT3_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT3_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(2).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(3).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD4_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD4_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(3).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(3).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT4_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT4_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(3).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(4).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD5_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD5_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(4).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(4).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT5_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT5_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(4).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(5).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD6_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD6_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(5).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(5).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT6_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT6_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(5).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(6).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD7_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD7_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(6).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(6).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT7_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT7_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(6).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(7).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD8_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD8_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(7).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(7).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT8_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT8_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(7).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(8).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD9_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD9_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(8).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(8).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT9_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT9_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(8).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(9).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD10_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD10_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(9).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(9).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT10_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT10_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(9).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(10).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD11_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD11_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(10).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(10).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT11_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT11_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(10).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(11).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD12_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD12_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(11).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(11).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT12_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT12_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(11).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(12).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD13_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD13_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(12).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(12).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT13_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT13_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(12).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(13).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD14_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD14_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(13).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(13).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT14_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT14_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(13).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(14).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD15_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD15_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(14).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(14).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT15_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT15_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(14).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(15).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD16_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD16_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(15).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(15).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT16_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT16_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(15).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(16).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD17_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD17_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(16).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(16).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT17_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT17_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(16).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(17).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD18_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD18_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(17).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(17).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT18_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT18_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(17).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(18).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD19_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD19_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(18).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(18).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT19_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT19_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(18).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(19).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD20_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD20_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(19).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(19).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT20_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT20_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(19).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(20).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD21_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD21_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(20).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(20).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT21_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT21_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(20).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(21).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD22_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD22_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(21).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(21).Measurement = "9999999" Then
cmd.Parameters.AddWithValue("MEASUREMENT22_3", Space$(7))
Else
cmd.Parameters.AddWithValue("MEASUREMENT22_3", Mid$(Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(21).Measurement, 1, 7))
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(22).Val_Cd = "9" Then
cmd.Parameters.AddWithValue("VAL_CD23_3", " ")
Else
cmd.Parameters.AddWithValue("VAL_CD23_3", Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(22).Val_Cd)
End If
If Downloaded_Rec_IM.Meas_Data(2).IM_Hour_Info(22).Measurement = "9999999" Then
 
No, it doesn't surprise me. I may have either written my responses a little confusing or you misunderstood. I saw a huge improvement with transactions and SQL Server. Transactions and Access yielded a smaller improvement.

When you call your loop, also make sure that you're doing as little work as possible within the loop--no tearing down and recreating parameters for example, just changing out the values.
 
Hi,

I think I find the problem. Riverguy, I took your code and ran it, made changes and I believe the problem is in the With/End With.

I do not understand why but the time I am getting is no where the time you were getting with you code.

Below are my changes and the performance increase from your original code.

con.Open()
cmd.Connection = con
cmd.CommandType = CommandType.Text
cmd.CommandText = "INSERT INTO Table1 (Column1, Column2) Values(?,?)"

For i As Integer = 0 To 22000
With cmd
.Parameters.AddWithValue("Column1", 45 )
.Parameters.AddWithValue("Column2", "hello world")
cmd.ExecuteNonQuery()
End With
Next

Any thoughts?

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top