Solved

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

Posted on 2009-05-12
11
688 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
  • 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
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.

 

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

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

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…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…

830 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