The exception is thrown at line
dhEmployeeID.Text = custTable.Rows(0).Item(0)
You should always check if there is at least one row in table before accessing it.
You can do this with
custTable.Rows.Count > 0
The same can be said for line
Dim custTable As DataTable = custDataset.Tables(0)
Also there are few points which can be eliminated when using DataAdapter
1. You do not need to open or close connection as DataAdapter does this for you.
2. You should not call dispose on DataAdapter. Ideally, you should retain the same DataAdapter because it has already performed it's initialization. A DataAdapter provides properties such as the SelectCommand, UpdateCommand, InsertCommand and DeleteCommand which allow you to set different Command objects to perform these different function on the datasource. So, you see, the DataAdapter is designed to be reused for multiple commands (for the same database connection).