Anda tidak menanyakan _id dari database (hanya kolom KEY_NAME2), jadi Anda tidak bisa mendapatkannya dari adaptor.
Baris ini:
Cursor cur = (Cursor) parent.getItemAtPosition(position);
sepenuhnya salah. Anda mencoba untuk melemparkan sebuah String (yang dikembalikan oleh ArrayAdapter<String> ke kursor, yang tidak pernah bisa berfungsi.
Yang harus Anda lakukan adalah menggunakan CursorAdapter (atau SimpleCursorAdapter ) untuk ListView Anda. Kursor harus menanyakan setidaknya _id dan KEY_NAME2.
Dengan adaptor ini getItem(int position) akan mengembalikan kursor yang disetel ke posisi yang diminta. Maka yang perlu Anda lakukan hanyalah cursor.getInt(cursor.getColumnIndex("_id")) dan Anda di sana.