how do I add role and capability after I create a new user

You should use WP_User class (http://codex.wordpress.org/Class_Reference/WP_User)

It has methods: set_role, add_role, remove_role.

Example:

$uid = wp_insert_user($userdata);
$u = new WP_User( $uid );
add_role( $role, $display_name, $capabilities ); // I assume $role, $display_name, $caps are already set before
$u->set_role( $role );