![]() |
|
Модераторы: gambit |
![]()
|
|
| kizune |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 10.7.2007 Репутация: нет Всего: 9 |
Привет,всем.
Такой вопрос новичка. как осуществить такую логику: юзер вводит данные code и phone нажимает search идем в table1 ищем соответствия: а. есть соответствия - берем codeId - идем в таблицу table2 находим там codeId и areaId - вытаскиваем соответственные данные Phone, Fax - отображаем на странице б. нет соответствий - вывод сообщения "ничего не найдено" или где можно почитать про осуществление подобной логики с примерами спасибо Это сообщение отредактировал(а) kizune - 19.11.2007, 14:32 |
|||
|
||||
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
kizune,
Приветствую. Для начала не плохо бы знать какие поля содержит таблица1 и таблица2. А так же как они связаны. Потом что означает в этой фразе
слово code? Потом если вы ищете запись по codeId и собираетесь на её основании получить phone и fax из второй таблицы, то зачем вводить на равне с code еще и phone?
Любую книжку по нормализации данных и рассказывающую об SQL. Вам надо знать как спроектировать БД и получать из нее данные посредством SQL-запросов. В принципе всё. Да, и что бы всем этим рулить из VS необходимо знать ADO.NET. Успехов. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| alik_voodoo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 31.10.2006 Репутация: нет Всего: нет |
Тебе не сюда, тебе в SQL форумы, ищи инфу по inner join.
|
|||
|
||||
| kizune |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 10.7.2007 Репутация: нет Всего: 9 |
thomas,
это такое же значение как и phone.
здесь я неправильно выразилась.допустим надо получить не просто phone, а к примеру - LocalPhone alik_voodoo,спасибо,буду искать еще вопрос вот например я ввожу в текстовое поле id='tbPhone' какое-то значение например 378945,нажимаю кнопку search:
как быть дальше в смысле проверить есть ли там такое значение или нет? спасибо Это сообщение отредактировал(а) kizune - 20.11.2007, 13:30 |
||||||
|
|||||||
| thomas |
|
||||||||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
kizune,
Повторюсь
Этот ответ
Далее
Попробуйте словами описать что должна делать программа. И покажите как организовано хранение данных(см. первую цитату). Тогда можно будет ответить что и как. А так ... , я же не экстрасенс. А проверить существует запись в таблице или нет можно выполнив следующий запрос
подставив его в метод cmd.ExecuteScalar примерно так
Функция возвратит значение подсчета строк отвечающих данному условию. Соответственно, если вернет "0", то такого телефона нет, если вернет "1" или более значит есть. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||||||||
|
|||||||||||
| kizune |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 10.7.2007 Репутация: нет Всего: 9 |
таблица1 содержит: codeId, code, phone (при поиске соответствий сначала ищем по двум параметрам code, phone.если точных соответствий не найдено ищем только по code) таблица2 содержит: codeId, areaId, LocalPhone, Fax связаны таблицы через codeId |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
kizune,
если я правильно понял, то имеем следующее: таблица1 CodeId - PK code phone таблица2 areaId - PK - ??? codeId - FK LocalPhone Fax
code - это что код страны? phone - номер телефона? Какая задача стоит? До сих пор не понятно. Ходим вокруг да около. Неужели сложно написать что-то типа: имееются клиенты, данные(ФИО, адрес, бла бла) о них храняться в таблице1; имются контактные лица, данные о них храняться в таблице2. Необходимо для заданного клиента найти контактное лицо и получить его данные из БД. На данный момент меня терзают сомнения что у вас не правильно организовано хранение данных. В чем разница между phone и localphone? Для поиска каких либо данных в таблице БД используются оператор условия WHERE в sql-запросе. Если есть значение удовлетворяющее условию он его вернет. Добавлено через 3 минуты и 7 секунд Для фильтрации данных в таблице ДатаСет, которые нужно отобразить существует обьект DataView с методом RowFilter -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| kizune |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 10.7.2007 Репутация: нет Всего: 9 |
извини,если неправильно выражаюсь
таблица2 codeId - PK
code - код региона страны phone - номер телефона в результате поиска необходимо вывести на страницу LocalPhone и Fax контактного лица организации.phone - номер телефона организации LocalPhone - номер телефона контактного лица. таблица1 сodeId - идентификатор кода региона code - код региона phone - телефон организации таблица2 areaId - идентификатор названия региона codeId - идентификатор кода региона LocalPhone - телефон контактного лица Fax - контактного лица необходимо по заданному коду региона и телефону найти телефон и факс контактного лица Это сообщение отредактировал(а) kizune - 20.11.2007, 17:21 |
||||
|
|||||
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
kizune,
Подожди немного, сейчас сделаем. Так для начала вот примерно так должна выглядеть схема БД. ![]() Таблицы связаны "один-ко многим". В регионе может быть несколько организаций. У организации может быть несколько контактных лиц. А что бы получить ответ на этот вопрос
пишем такой sql-запрос к БД
По названию региона и по телефону организации (в этом регионе) получаем телефон и факс контактного лица (в этой организации) Если оно(лицо) есть. ЗЫ kizune, я отлучусь не надолго. Есть вопросы пиши. Это сообщение отредактировал(а) thomas - 20.11.2007, 17:58 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| kizune |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 10.7.2007 Репутация: нет Всего: 9 |
благодарю за разъяснение
только мне нужно сделать этот запрос через SqlConnection, SqlCommand итд на c#.поэтому я в растерянности Это сообщение отредактировал(а) kizune - 20.11.2007, 18:38 |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
kizune,
Вот что бы избавить вас от растерянности, соорудил примерчик с БД. Коментариев достаточно, думаю поймете. Да, БД сделал не серверную извините.Но принципиальной разницы нет. Провайдера поменяете и OleDb на Sql. Чтобы посмотреть как работает отредактируйте путь к базе в connectionString. Успехов. Присоединённый файл ( Кол-во скачиваний: 10 )
WindowsApplication1.rar 45,14 Kb-------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| kizune |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 10.7.2007 Репутация: нет Всего: 9 |
большое спасибо
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |