Um.
where (Smt_GoodsIssue.dEntDAte between '09-jul-2015' and '09-Jul-2015')
So, when SQL parses the dates you give it into DATETIME values, what time of day do you think it will use?
Simply put, 09-Jul-2015 will be interpreted as 2015-07-09 00:00:00.0000 so the database column data will only ever match if it is entered precisely at midnight. Your example value is twelve hours and 17 minutes later, so it falls outside the "match" range.
I'd suggest that this might be a better approach:
where (Smt_GoodsIssue.dEntDAte between '09-jul-2015' and '10-Jul-2015')
Or better use DATEADD to offset a single value if you are in reality passing it as a parameterised value.