Показать сообщение отдельно
  #3  
Старый 13.02.2008, 22:58
Аватар для Appolon
Appolon Appolon вне форума
Новичок
 
Регистрация: 10.01.2008
Адрес: гЕйск
Сообщения: 76
Репутация: 16
По умолчанию

Вся проблема скорее всего заключается в SQL запросе. Называется это декартовое произведение.
Избежать этого можно изменением запроса.
Например.
Таблица областей - oblast.
id_obl int индетификатор области
name_obl varchar(50) наименование области
Таблица районов - raion.
id_rai int индетификатор района
id_obl int индетефикатор области
name_rai varchar(50) наименование района
Таблица населенных пунктов - punkt.
id_punkt int индетификатор нас.пункта
id_rai int индетификатор района
name_punkt varchar(50) наименование нас.пункта

Тогда запрос на выбор района будет таким:
SELECT name_rai
FROM dbo.oblast INNER JOIN
dbo.raion ON dbo.oblast.id_obl = dbo.raion.id_obl
where id_obl=<индетификатор выбранной области>

А запрос на выбор населеного пункта будет выглядеть вот так:
SELECT dbo.punkt.name_punkt
FROM dbo.raion INNER JOIN
dbo.punkt ON dbo.raion.id_rai = dbo.punkt.id_rai
where id_rai=<индетификатор выбранного района>

Успехов!!
Ответить с цитированием