Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Ошибка возникает из-за пробела между Em_
и gender
в имени таблицы в mysql. Но рассмотрите эти запросы вместо ваших, что не имеет смысла, если вам нужно использовать UNION
SELECT '' AS 'Employes Name ', Dep_FName as 'Dependant Name '
FROM evnt_db.dependent as d
WHERE Dep_gender='F'
UNION
SELECT Em_FName AS 'Employes Name ', '' as 'Dependant Name '
FROM evnt_db.employee as e,evnt_db.dependent as d
WHERE Em_gender='F' ;
Этот запрос даст вам столбец со всеми зависимыми именами, столбец со всеми именами сотрудников. Каждый столбец будет пустым, если в другом столбце есть значение. Если вы хотите, чтобы все они были только в столбце, вы можете сделать:
SELECT Dep_FName as 'Dependant Name ', 'Dependant' as Type
FROM evnt_db.dependent as d
WHERE Dep_gender='F'
UNION
SELECT Em_FName AS 'Employes Name ', 'employee' as Type
FROM evnt_db.employee as e,evnt_db.dependent as d
WHERE Em_gender='F' ;
Это даст вам все имя в одном столбце, а в другом столбце - тип.
Кстати: я почти уверен, что помогу вам обмануть домашнее задание