In my VB.net application I am populating my customer object and looping through it as shown below.
As there are thousands of customers, I want to do it 500 customers at a time.
Is there anyway I can have one more For loop to process 500 customers at one shot in vB.net
I am not using LinQ as the database is Oracle.
is there anything like
Thanks
Dim customerList as new List(of customer)
Dim Customer as new Customer
Try
CustomerList=dataAccess.GetAllCustomers()
if not CustomerList is nothing then
   For each Customer in CustomerList
       BuildXML(custmer.Name,Customer.age,Customer.city)
   next
       ProcessXMLWS(strxml)
end if
Catch ex as exception
   LogError(ex.message)
End try
                You can loop through blocks of 500 Customer objects like this:
For i As Integer = 0 To CustomerList.Count Step 500
    'Do things
Next
However, it won't do you any good.
Your code is using each Customer object individually, so there is nothing you can do with 500 at a time.
EDIT:
If you mean that you only want to process the first 500 Customer objects, try this:
For i As Integer = 0 To Math.Min(500, CustomerList.Count)
    Set Customer = CustomerList(i)
    BuildXML(custmer.Name, Customer.age, Customer.city)
Next
As an aside, you shouldn't write Dim Customer As New Customer - by adding the New keyword, you create an extra Customer instance that you never use.  Instead, write Dim Customer As Customer to declare the variable without creating a new Customer instance.
Also, you can use VB's IsNot keyword in the If statement, like this:
If CustomerList IsNot Nothing Then
                        Use counter variable.
Dim counter as Integer = 1
For each Customer in CustomerList
   If counter = 500 Then
       ProcessXMLWS(strxml)
       strxml="" '//Empty if any.'
       counter = 1
   Next
   BuildXML(custmer.Name, Customer.age, Customer.city)   
   counter += 1
next
http://msdn.microsoft.com/en-us/library/5ebk1751.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With