![]() |
|
|
![]()
|
|
| SimpAlex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Собстна голова уже кругом идет( ...
проблемма в чем - при написании курсовой передо мной стоит такая задачка. Есть БД в формате дбф, в ней допустим список группы с полями : Имя, Фамилия, Пол, Средний бал. Пуская будет 100 записей. Далее: Соединение с компонентами и прочее я понимаю, равно как и нет никаких проблемм с языком SQL. Моя трабла заключается в том, чтобы понять ЧТО я получаю в результате - массив данных, какаято виртуальная таблица - что я получу в результате выполнения моего запроса в ADOQuery и как мне потом с этими данными работать. Зачем мне это нада? С результатами запроса (какаято новая выборка) провести следующую операцию - перегнать эту новую выборку в Эксель и построить диаграммку (это я знаю как тоже) ... Итак вопрос: Как имея эти данные получить массив данных MyGroup выполнив запрос типа : SELECT Name, Sex WHERE AdvScore>=3. Поидее непонятно где и непонятно как пощупать то что получится, создастся какаято таблица в которой будут 2 поля Имя и Пол, строки отсеятся по условию средний бал больше либо равен 3. Как мне теперь обратиться к этим живим данным, как с ними работать? З.Ы. Под рукой Билдера нет, пишу с работы в ожидании бессонной ночи дома, все вроде продумал, а на этом ступор и дальше не могу нормально моделировать ход работы своей ... Заранее АГРОМНОЕ спасибо, Знатоки) ... |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Сори ничего непонятно, можешь конкретизировать что тебе надо?
-------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| kin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 9.5.2008 Репутация: 1 Всего: 6 |
чувствуется, глядя на сообщение
Мил человек, давай с начала. Я надеюсь речь идет о Builder-е от дяди Borland-a Если все что ты написал перевести на нормальный язык, то получится следующее: у тебя есть dbf-таблица и из нее вытаскиваются данные при помощи компонента TADOQuery . Глупый вопрос, а такое вообще возможно (из dbf - при помощи TADOQuery,) |
|||
|
||||
| SimpAlex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Массив нужен, чтобы не все поля передавать в эксель ...
Да, Билдер 6.0 от дяди Борланда) ... Мне нужно из ДБФ вырвать кусок таблицы, хочу это сделать СКЛ-запросом, чтобы юзверь мог сам выбирать какие поля ему интересно увидеть в отчете (именно для формирования красивого отчета с диаграммками и выводу на печть использую Эксель), по каким полям ему захочется построить диаграммку. Меня интересует - реально ли выполнив СКЛ-запрос, полуич результат в виде набора данных - записать этот набор данных в массив, а потом уже работать с этим массивом (массив 2 мерный получается, строки и столбцы) ... Ну предстаьте сее матрицу 100*100 достим А, я создаю запрос с уловием и мне не нада 100 полей-параметров, а всего 47, а по этим параметрам отсеивается 59 человек, что должны получить в результате? Матрицу 41*47 пусть она будет Б. ну вот мне нужно работать уже с этой новой матрицей ... Использую ADOQuery, если есть смысл использовать другой - подскажите в чем разница, в примерах подсоединениях ДБФа в программу, как правило использую схему ADOConnection->ADOQuery ну а дальше уже куда это собстна и нада будет юзать) ... Надеюсь теперь понятнее обрисовал проблемму) ... |
|||
|
||||
| kin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 9.5.2008 Репутация: 1 Всего: 6 |
Все намного проще,зачем усложнять, да и задача поставлена не верно. Сначала определяются критерии запроса (поля, условия, сортировка и т.д), затем он выполняется, а затем обрабатывается. Утебя же получается наоборот. Зачем выбирать 100 полей, если нужно всего 47? Ну, как говориться, хозяин - барин. Теперь по сути вопроса: У компонентов TQuery (TADOQuery) есть свойства и методы, наследуемые от TDataSet (First, Next, Fields и пр.). С помощью них перебирай записи, выбирай нужные тебе поля, и пихай их в Excel. Проще говоря, TDataSet и есть тот массив, который ты хочешь получить.
Честно говоря, никогда об этом не задумывался; TQuery использует BDE от Борланда, TADOQuery - ADO от Microsoft. TADOQuery легче TQuery в плане наследования, да и BDE таскать с программой ненужно. Насчет использования для доступа к dbf, честно говоря, ниразу не видел, чтобы использовался TADOQuery, по-этому и был удивлен. Посмотрев help, пришел к выводу, что можно использовать и тот, и другой. Вот собственно и все... |
|||
|
||||
| SimpAlex |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Спасибо огромное Kin) ... Не могу репутацию добавить, кто может - дайте +1) ...
Решил проблеммку немного иначе:
После этого мы получаем Dataset (спасибо Kin).
Мне немного тяжко было врубиться, так как больше работал в последнее время c PHP и прочими текствовыми вариациями( ... Всем спасибо за помощь) ... надеюсь вдальнейшем тоже откликнитесь на просьбы) ... Это сообщение отредактировал(а) SimpAlex - 8.6.2008, 18:24 |
||||
|
|||||
| orthrus |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 30.10.2007 Где: г. Усть-Илимск(Ир кутская обл.) Репутация: нет Всего: 16 |
А почему бы не сделать запрос такого вида:
где field нужно заменить на имя поля по которому происходит отбор, а результаты получать без условия:
Без проблем, добавил плюсик -------------------- У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой ![]() |
||||
|
|||||
| SimpAlex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Кстати именно так и сделал, но тут не обновил данные)) ...
|
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |