2015-03-17 3 views
0

У меня есть два стола Виды деятельности и источники. Я хочу проверить, найден ли IdSource из Sources, который является первичным ключом, в столбце «Источники из таблицы« Действия ». я сделал что-то вродепроверить, существует ли идентификатор из одной таблицы в другом

private int nrSource {get;set;} 
nrSource=(int)activitiesTableAdapter.ScalarQuery(); 
if (nrSource>0) 
{ 
MessageBox.Show(); 
} 

И метод ScalarQuery что-то вроде SELECT COUNT (*) от деятельности, где существует (выберите * из источников, где Sources.IdSource = Activities.Sources).

Я получаю сообщение об ошибке, когда я делаю приведение: Ссылка на объект не установлена ​​в экземпляр объекта. Что я делаю не так?

+0

Пожалуйста, покажите полное сообщение об ошибке, в подробностях сообщения об ошибке вы увидите, на какой объект ссылаетесь, который не инициализирован –

ответ

0

В первую очередь я хотел бы изменить свой запрос на что-то вроде этого:

select count (*) 
from Activities a 
where exists (select * from Sources s where s.IdSource= a.Sources) 

И если Activities.Sources обнуляемым и является внешним ключом к Sources.IdSource, вы могли бы просто использовать:

select count (*) 
from Activities a 
where a.Sources IS NOT NULL 
+0

nrSource = 0. Для чего его инициализировать? –

+0

Это означает, что в таблице «Источники» не существует «Актив». – Bruniasty

Смежные вопросы