Solved

Do Until, For Each, EOF - SQL in ASP.NET (VB)

Posted on 2009-05-12
11
692 Views
Last Modified: 2013-11-26
I want to query an SQL table for all instances of a particular field. (i.e. SELECT COUNT(*) FROM myTable where ID = '187')

Then I want to cycle through each record and do something based on the data. (For Each, EOF/BOF, etc.)

What is the best way to go about doing this in ASP.NET(VB)?
0
Comment
Question by:Mike Miller
[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
  • 5
  • 4
  • 2
11 Comments
 
LVL 5

Accepted Solution

by:
Aanvik earned 250 total points
ID: 24366893

    Dim strSQL As String = "SELECT * FROM myTable where ID = '187'"
    Dim Connection As New OleDbConnection("PROVIDER=....")
    Dim DA As New OleDbDataAdapter(strSQL, Connection)
    Dim DS As New DataSet
 
    DA.Fill(DS, "Codes")
 
    Dim dt As New DataTable = DS.Tables(0)
    Dim dr As DataRow
    For Each dr In dt.Rows()
       'Do whatever you want to do with each record.
    Next

Open in new window

0
 

Author Comment

by:Mike Miller
ID: 24367018
Ok that looks good. So how would i reference what is in the columns?

Like

Label1.text = ??????? for whatever is in the 3rd column
0
 
LVL 7

Expert Comment

by:urir10
ID: 24367069
Label1.text = dt(0)   for the first column
or Label1.text = dt("name of column")
0
Business Impact of IT Communications

What are the business impacts of how well businesses communicate during an IT incident? Targeting, speed, and transparency all matter. Find out more in this infographic.

 

Author Comment

by:Mike Miller
ID: 24367334
I'm getting "End of statement expected" on:
Dim dt As New DataTable = DS.Tables(0)

and

Name dt is not declared on:
 For Each dr In dt.Rows()
        Dim strSQLlsd As String = "SELECT * FROM tblMultiTours where ID like '" & Label1.Text & "'"
        Dim Connection As New Data.OleDb.OleDbConnection("Data Source=ussrm-netsql\netdata;" & _
      "Initial Catalog=Employee;" & _
      "Integrated Security=SSPI")
        Dim DA As New Data.OleDb.OleDbDataAdapter(strSQLlsd, Connection)
        Dim DS As New Data.DataSet
        DA.Fill(DS, "Codes")
        Dim dt As New DataTable = DS.Tables(0)
        Dim dr As Data.DataRow
        For Each dr In dt.Rows()
            
        Next

Open in new window

0
 
LVL 5

Expert Comment

by:Aanvik
ID: 24367360
Change DA.Fill(DS, "Codes") to  DA.Fill(DS)
0
 
LVL 7

Expert Comment

by:urir10
ID: 24367381
Sorry i meant dr not dt
0
 

Author Comment

by:Mike Miller
ID: 24367505
DA.Fill(DS)

gives me the same 2 errors
0
 
LVL 7

Expert Comment

by:urir10
ID: 24367604
Do you have the right Namespaces included?

Imports System.Data
Imports System.Data.OleDb
0
 

Author Comment

by:Mike Miller
ID: 24367638
Yes
0
 
LVL 7

Assisted Solution

by:urir10
urir10 earned 250 total points
ID: 24367923
try this instead:
            Dim dt As New DataTable
            dt = DS.Tables(0)
0
 

Author Comment

by:Mike Miller
ID: 24367941
Ok yeah that worked. I had it as data.datatable without the namespace and tried that before. Once i added the namespace and just did datatable it worked, thanks guys
0

Featured Post

Technology Partners: 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

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

737 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