Quote: taking into consideration that Excel.xls file has no Empty records
Are you sure?
Most Excel files have more empty records than non-empty: all that lovely whitespace at teh bottom!
Since you don't specify any limits on what rows are returned:
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
Dim expr As String = "SELECT * FROM [Sheet1$]"
You need to use the debugger and see exactly what is returned - because if Excel gives you loads of blank rows at the bottom, then SQL doesn't "know" they aren't "real data" and will insert them happily.
Computers don't "invent" data, even "blank data" - it comes from somewhere, and my guess would be from your sheet.