Without seeing your code, I can only make an educated guess:
Are you doing this:
SqlDataReader reader = cmd.ExecuteReader();
DataTable dt = new DataTable();
if (reader.Read())
{
dt.Load(reader);
}
Because, if you are, that's your problem: the Read method removes one of the records from the list...
"this code is run succesfully but top record is missing"
Yes - the Read() method call removes the first record. Don't call Read. Instead, check
reader.HasRows[
^]
"but any option to send data into datatable from datareader"
Try:
SqlDataReader reader = cmd.ExecuteReader();
DataTable dt = new DataTable();
if (reader.HasRows)
{
dt.Load(reader);
}