Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

loop through data set to create Web service items

Posted on 2009-05-12
7
Medium Priority
?
448 Views
Last Modified: 2012-06-21
I would like to Loop through a data set to create web service items.  

Below is an example of how I hard code items to be sent to the web service.  

I have a data set created from an SQL query, how can II loop through that data set and take the value of the first column in every data row and set that to the PERNR for a new item?

'Dim item(1) As TestWS.DataItem
        'item(0) = New TestWS.DataItem
        'item(0).PERNR = "00012191"
        'item(1) = New TestWS.DataItem
        'item(1).PERNR = "00011382"
 
        'Dim ws As New TestWS.DataService
        'ws.Credentials = New Net.NetworkCredential("UserName", "Password")
        'ws.Data(item)

Open in new window

0
Comment
Question by:DotNetNooby
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 2000 total points
ID: 24364485
Try the following code
Dim Items(dSet.Tables(0).Rows.Count) as New TestWS.DataItem
 
For i as integer = 0 to dSet.Tables(0).Rows.Count - 1
    Items(i) = dSet.Tables(0).Rows(i).Item(0)
Next
 
Dim ws As New TestWS.DataService
ws.Credentials = New Net.NetworkCredential("UserName", "Password")
ws.Data(items)

Open in new window

0
 
LVL 4

Expert Comment

by:rdoran0928
ID: 24364548
You could do something like the following:

        Dim queryConnString As String = ConfigurationManager.ConnectionStrings("yourConnectionString").ConnectionString
        Dim queryConn As SqlConnection = New SqlConnection(queryConnString)
        Dim querySelect = SELECT pernrColumn FROM table
        Dim queryCmd As SqlCommand = New SqlCommand(querySelect, queryConn)
        Dim queryAdapter As SqlDataAdapter = New SqlDataAdapter(queryCmd)
        Dim queryDataSet As DataSet = New DataSet

        Try
            queryConn.Open()
            queryAdapter.Fill(queryDataSet, "QueryTable")

        Catch ex As Exception
             Put your exception handling code here

        Finally
            queryConn.Close()

        End Try

        ' traverse records and set PERNR in the item
        Dim queryRows As DataRowCollection = queryDataSet.Tables("QueryTable").Rows
        Dim i As Integer
        Dim curRow As DataRow

        For i = 0 To queryRows.Count - 1

            curRow = queryRows(i)

            item(i).PERNR = curRow("pernrColumn")

        Next


Best of luck!
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 24364636
@rdoran0928
It is inefficient code. Why do you need to use a curRow variable? Why not

For i = 0 To queryRows.Count - 1

            item(i).PERNR = queryRows(i)("pernrColumn")

Next
0
Looking for a new Web Host?

Lunarpages' assortment of hosting products and solutions ensure a perfect fit for anyone looking to get their vision or products to market. Our award winning customer support and 30-day money back guarantee show the pride we take in being the industry's premier MSP.

 
LVL 4

Expert Comment

by:rdoran0928
ID: 24364860
Just for clarity, assuming a potentially more complex solution involving multiple columns.
0
 

Author Comment

by:DotNetNooby
ID: 24366559
When I run this it throws an exception: Unable to cast object of type 'System.String' to type 'TestWS.DataItem'
0
 

Author Closing Comment

by:DotNetNooby
ID: 31580520
worked great, Thanks!
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 24372101
Yeah because the following statement
Items(i) = dSet.Tables(0).Rows(i).Item(0)

is asssigning a string to DataItem. Do you know the structure of TestWS.DataItem? May be you should assign value to a property inside it like
Items(i).Text = dSet.Tables(0).Rows(i).Item(0)
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When crafting your “Why Us” page, there are a plethora of pitfalls to avoid. Follow these five tips, and you’ll be well on your way to creating an effective page.
This article was originally published on Monitis Blog, you can check it here . Today it’s fairly well known that high-performing websites and applications bring in more visitors, higher SEO, and ultimately more sales. By the same token, downtime…
Viewers will get an overview of the benefits and risks of using Bitcoin to accept payments. What Bitcoin is: Legality: Risks: Benefits: Which businesses are best suited?: Other things you should know: How to get started:
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question