Contents
- AddEditDelete-Advanced
- AJAX - How to say Hello
- Common Functions
- CONVERT DD-MM-YYYY TO MM/DD/YYYY
- Convert dd/mm/yyyy to mm/dd/yyyy
- CONVERT ID TO NAME
- Convert mm/dd/yyyy to dd/mm/yyyy format in classic asp
- displaying timetable
- First Record Skipped by ASP.NET
- Free Photo Web sites
- get data from excel using asp
- How to convert mm/dd/yyyy to dd-mmm-yy in classic asp
- How to convert mmddyyyy into ddmmyyyy in classic asp
- Javascript : Country-State DropDown
- ORACLE SQL CASE-END
- Oracle Table to Insert Statements
- Random Number in Classic ASP
- Rs.RecordCount
- Select Box Template
First Record Skipped by ASP.NET
When I was using DataReader in ASP.NET(VB), I came across a problem : The very first record was not displayed in a while loop.
I have given the code with error as well as the corrected code
THE FOLLOWIING CODE WILL SKIP THE FIRST RECORD BY DR1
<%
While dr.Read
strSelect = "select * from staff where staff_id=" & dr.Item("staff_id")
cmdSelect1 = New System.Data.OleDb.OleDbCommand(strSelect, dbconn)
dr1 = cmdSelect1.ExecuteReader()
j = 1
If Not dr1.Read() Then
'NOTE: BECAUSE OF DR1.READ(), THE FIRST RECORD IS SKIPPED BY THE WHILE LOOP
Response.Write("Any Date")
End If
Do While dr1.Read()
Response.Write(dr1.Item("start_date") & "
")
Loop 'for dr1
dr1.Close()
End While
%>
SOLUTION: MODIFY THE CODE AS SHOWN BELOW, TO AVOID SKIPPING OF THE FIRST RECORD
<%
While dr.Read
strSelect = "select * from staff where staff_id=" & dr.Item("staff_id")
'Response.Write(strSelect)
cmdSelect1 = New System.Data.OleDb.OleDbCommand(strSelect, dbconn)
dr1 = cmdSelect1.ExecuteReader()
j = 1
'If Not dr1.Read() Then
'Response.Write("Any")
'End If
If dr1.HasRows Then
'NOTE: INSTEAD OF NOT DR1.READ, USE DR1.HASROWS
Do While dr1.Read()
Response.Write(dr1.Item("start_date") & "
")
Loop 'for dr1
Else
Response.Write("Any date")
End If
dr1.Close()
End While
%>