Solved

loop through data set to create Web service items

Posted on 2009-05-12
7
444 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
  • 3
  • 2
  • 2
7 Comments
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 500 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
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This article will inform Clients about common and important expectations from the freelancers (Experts) who are looking at your Gig.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.

773 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