looping through database table

manared

Well-known member
Joined
Jun 1, 2006
Messages
84
Programming Experience
1-3
I'm having a problem looping through a database table. I'm getting the program to loop through the database, but it is skipping the first entry once I start the loop. Here's my code:

VB.NET:
Dim x As Integer = myDataTable.Rows.Count - 1
Dim i As Integer
For i = 0 To x
Dim dateEntered, cellGateway, message, reminderDate, reminderTime, reminderAmPm, centralTime, militaryTime, timeZones, toSee, status As String
dateEntered = myDataTable.Rows(i).Item("dateEntered").ToString
message = myDataTable.Rows(i).Item("message").ToString
reminderDate = myDataTable.Rows(i).Item("reminderDate").ToString
reminderTime = myDataTable.Rows(i).Item("reminderTime").ToString
reminderAmPm = myDataTable.Rows(i).Item("reminderAmPm").ToString
centralTime = myDataTable.Rows(i).Item("centralTime").ToString
militaryTime = myDataTable.Rows(i).Item("militaryTime").ToString
timeZones = myDataTable.Rows(i).Item("timeZones").ToString
status = myDataTable.Rows(i).Item("status").ToString
Dim sendTo As String = myDataTable.Rows(i).Item("toSee").ToString

If sendTo = "All Customers" Then
Dim mySQL As String = "SELECT * FROM BusCellCollection WHERE bus_id = '" & lblBusId.Text & "'"
Dim reader As SqlDataReader
Dim command As New SqlCommand
conn.Open()
command.Connection = conn
command.CommandText = mySQL
reader = command.ExecuteReader
reader.Read()
Dim flag6 As String = reader("cell_number")
'If reader.HasRows Then
While reader.HasRows()
Dim provider As String = reader("cell_provider")
toSee = reader("cell_number")
cellGateway = toSee + provider
'Dim strSQL As String = "Insert into BusSchedule (bus_id, emp_id, schedule_date_entered, schedule_cell, schedule_message, schedule_reminder_date, schedule_reminder_time, schedule_reminder_ampm, schedule_central_time, schedule_military_time, schedule_time_zones, schedule_to, schedule_status) VALUES ('" & lblBusId.Text & "', '" & lblEmpId.Text & "', '" & dateEntered & "', '" & cellGateway & "', '" & message & "', '" & reminderDate & "', '" & reminderTime & "', '" & reminderAmPm & "', '" & centralTime & "', '" & militaryTime & "', '" & timeZones & "', '" & toSee & "', '" & status & "')"
'Dim Cmd As New SqlCommand(strSQL, conn2)
'conn2.Open()
'Cmd.ExecuteNonQuery()
'conn2.Close()
'End If
Dim flag As String = ""
End While
'End If
 
'End If
 
reader.Close()
conn.Close()
Else
cellGateway = myDataTable.Rows(i).Item("cellGateway").ToString
toSee = myDataTable.Rows(i).Item("toSee").ToString
Dim strSQL As String = "Insert into BusSchedule (bus_id, emp_id, schedule_date_entered, schedule_cell, schedule_message, schedule_reminder_date, schedule_reminder_time, schedule_reminder_ampm, schedule_central_time, schedule_military_time, schedule_time_zones, schedule_to, schedule_status) VALUES ('" & lblBusId.Text & "', '" & lblEmpId.Text & "', '" & dateEntered & "', '" & cellGateway & "', '" & message & "', '" & reminderDate & "', '" & reminderTime & "', '" & reminderAmPm & "', '" & centralTime & "', '" & militaryTime & "', '" & timeZones & "', '" & toSee & "', '" & status & "')"
Dim Cmd As New SqlCommand(strSQL, conn)
conn.Open()
Cmd.ExecuteNonQuery()
conn.Close()
End If
Next

Does anyone see an error with this code?
 
Problem solved. I took out

reader.read()

and used just the while reader.hasrows() loop.

Now it goes through everything and retrieves everything I need it to.
 
Back
Top