Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DropDownList + DataSource, Выводить таблицу в соответствии с меню 
:(
    Опции темы
D_EMO_N
Дата 27.11.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



Расскажите плс, как правльно выводить данные из таблицы при помощи выпадающего меню, пробывал написать в запросе самой таблицы такой код: 
Цитата

SELECT     NomID, HarctID, DataID, Opis, Kab
                    FROM          Report
                    WHERE      (@DDL1 LIKE ' % ' + @box1 + ' % ')

где @DDL1 это должен был быть критерий по какому параметру сравивать
а @box1 это собственно критерий отбора

Цитата

SELECT     NomID, HarctID, DataID, Opis, Kab
                    FROM          Report
                    WHERE      (HaractID LIKE ' % ' + @box1 + ' % ')

прекрасно работает, но как сделать поиск более обширным?
Спасибо всем кто ответит..
PM MAIL   Вверх
thomas
Дата 27.11.2007, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



D_EMO_N, 
Приветствую.
Я так понимаю вам надо из двух связанных таблиц получать данные. В зависимости от того что выбрали в одной таблице отображать дочерние записи из другой.
И у вас это похоже получилось.
Но вот что бы посоветовать что-то по этому поводу
Цитата

как сделать поиск более обширным?

Приведенных вами данных явно не хватает. Нужно более развернутое описание ситуации.


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
D_EMO_N
Дата 27.11.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



Здраствуйте, thomas,

Нет таблица у меня одна.
Я из неё хочу извлекать данные по отбору где "столбец таблицы" = "критерий отбора"
К примеру у меня есть Столбец Kab и я хочу узнать есть ли там номер 50, выглядит это 

WHERE Kab = 50;

Придобавлении на форму бокса для ввода текста это выглядит как 

WHERE Kab = @box где box это имя формы куда я и ввожу свои "50",

Но так как столюцов несколько мне требуется искать по разным столбцам.
1 вариат сделать столько окошек ввода сколько столбцов и приписать к каждом WHERE [столбец] свое окошко
2 вариант, к-рый мне и требуется это сделать выпадающее меню с названиями столбца, что-бы при выборе нужного мне столбца выбор (сравнение) производился именно по этому столбцу.

PS Это всё я делаю в VS2005 и SQL2000

Это сообщение отредактировал(а) D_EMO_N - 27.11.2007, 18:22
PM MAIL   Вверх
thomas
Дата 28.11.2007, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



D_EMO_N, 
Цитата

2 вариант, к-рый мне и требуется это сделать выпадающее меню с названиями столбца, что-бы при выборе нужного мне столбца выбор (сравнение) производился именно по этому столбцу.

Так и в чем проблема? Поместите на форму комбобокс, в его коллекцию элементов пропишите названия полей таблицы с которой работаете. Поместите текстбокс радом, для ввода параметров. И напишите обработчик события, либо нажатие Enter в поле ввода или на кнопке.
И запрос соответствеено
Код

SELECT     NomID, HarctID, DataID, Opis, Kab
   FROM     Report
 WHERE    (" +  
comboBox1.SelectedItem.ToString() + 
" LIKE ' % ' " + 
textBox1.Text +
 " ' % ')



Это сообщение отредактировал(а) thomas - 28.11.2007, 01:56


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
D_EMO_N
Дата 28.11.2007, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



Ошибка а этапе выполнения, ввожу в поле любое значение, и после нажатия Enter выдает такую вот ошибку:

Invalid column name '+ DDL1.selectedItem.ToString() + '.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Invalid column name '+ DDL1.selectedItem.ToString() + '.

Цитата

       <asp:DropDownList ID="DDL1" runat="server">
            <asp:ListItem Value="NomID">NomerT</asp:ListItem>
            <asp:ListItem Selected="True" Value="Kab">KabT</asp:ListItem>
        </asp:DropDownList>

Это выпадающее меню, вот по идее при выборе какогото пункта получаем парамаметр равный выбранному пунту... но не работает.
Цитата

SELECT NomID, HarctID, DataID, Opis, Kab 
FROM Report 
WHERE ([+ DDL1.selectedItem.ToString() + ] LIKE '%' + @box1 + '%')



Это сообщение отредактировал(а) D_EMO_N - 28.11.2007, 10:49
PM MAIL   Вверх
thomas
Дата 28.11.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



D_EMO_N, 
Цитата

Invalid column name '+ DDL1.selectedItem.ToString() + '.

в комбобоксе должны быть валидные наименования полей таблицы. Иначе упс.



--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
D_EMO_N
Дата 28.11.2007, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



Просто странно почему для правой части такой вариант работает а для левой нет:
Цитата

        <asp:DropDownList ID="DDL2" runat="server" AutoPostBack="True">
            <asp:ListItem Selected="True" Value="32" Text="Комната 32" />
            <asp:ListItem Value="30" Text="Комната 30" />
        </asp:DropDownList>

...
WHERE Kab = @123
...
            <SelectParameters>
                <asp:FormParameter FormField="box1" Name="box1" />
                <asp:ControlParameter name="123" ControlID="DDL2" propertyname="SelectedValue" Type="String" />
            </SelectParameters>

а этот вариант не работает:
Цитата

        <asp:DropDownList ID="DDL2" runat="server" AutoPostBack="True">
            <asp:ListItem Selected="True" Value="Kab" Text="Комната" />
            <asp:ListItem Value="NomID" Text="Комната 30" />
        </asp:DropDownList>

...
WHERE @123 = 30
...
            <SelectParameters>
                <asp:FormParameter FormField="box1" Name="box1" />
                <asp:ControlParameter name="123" ControlID="DDL2" propertyname="SelectedValue" Type="String" />
            </SelectParameters>


При том что значение 30 есть и в Kab и в NomID, т.е. по логике в зависимости от того что выбрано в дропменю должно выдавать строку или где Kab = 30 или если выбрать другую, то строчку где NomID = 30.

PM MAIL   Вверх
thomas
Дата 29.11.2007, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



D_EMO_N,
Приветствую.
Так-с, стоп машина. С ASP.NET это не ко мне. Извините, но я в этом не капенгаген. Начну учить только в следующем семестре. 


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0642 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.