Hi. I am not saying that your approach is bad. It is totally up to your application's scope and usage. Lets go into your code.
I found few issues in your code.
1. Why are you opening database connection, if you use dataadapter to get dataset? DataAdapter's Fill method takes care of connection open/close headache.
DataAdapters Fill Method
2. For your requirement SqlCommand object's ExecuteScalar method suits well.
Dim sql As String = "select max(EmpID) As NewEmp from Employee_details"
Dim connectionString As String = "Data Source=Localhost;integrated
security=yes;database=Employee"
Dim newEmpId As Int32 = 0
Using conn As New SqlConnection(connString)
Dim cmd As New SqlCommand(sql, conn)
Try
conn.Open()
newEmpId = Convert.ToInt32(cmd.ExecuteScalar())+1
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
//Here add your code to display the newEmpId in your form.