Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi 7 + Acces 2003, Запрос 
:(
    Опции темы
krobs
Дата 15.3.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Товарищи, подскажите пожалуйста:
1) Delphi 7+Access 2003
2) В строку запроса (Edit) вводится ФИО студента и в окне DBGrid выводится список предметов с оценками, при этом на одну ФИО список предметов и соответствующих оценок.
3) Я в прилогающемся файле (Таблицы) созданы таблицы, на которые я буду ссылаться.
4) Подключился через TADOConnection. Бросил я на форму по одному компоненту : DataSource, DBGrid, ADOTable и ADOQuery.
5) В качаестве таблицы TableName в ADOTable выбрал StudentToSubject.
Проблема:
1) Вообще, у меня проблемы с запросами. Подскажите, пожалуйста как лучше сделать запрос по данной цели?
2) Может стоит сделать запрос в Access с помощью конструктора, а потом в Delphi - ADOQuery - SQL с помощью Select * from... сослаться на него?

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  _______.exe 106,84 Kb
PM MAIL AOL   Вверх
Vas
Дата 15.3.2006, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(krobs @ 15.3.2006, 15:24 Найти цитируемый пост)
Вообще, у меня проблемы с запросами.

Учить SQL smile Сложного ничего в нем нет.

Цитата(krobs @ 15.3.2006, 15:24 Найти цитируемый пост)
Может стоит сделать запрос в Access с помощью конструктора, а потом в Delphi - ADOQuery - SQL с помощью Select * from... сослаться на него?

ИМХО, я бы написал запрос select * from tablename... сразу в компоненте ADOQuery без всяких там строителей запросов, если потом придется изменить запрос не надо будет в Access лезть smile
Добавлено @ 15:55
Хм... хотя, если поступить по-твоему то, можно будет запрос изменить в Акцессе и в Дельфи не лезть smile


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Sh@dow
Дата 15.3.2006, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я бы не стал использовать ккомпонент TADOTable, так как он сам выступает в роли TADOQuery, что в лучшем случае приведет к падению производительности системы. Я бы порекомендовал использовать именно SQL запросы. Другое дело где их создавать. Про SQL серваки водь как бы ясно (и то иной раз подзадумаешся), под Access надо все таки наерное принимать во внимание как осуществляется коннект к базе локально иль по сети. Отсюда какой объем данных мы получим.
PM MAIL   Вверх
ADAM83
Дата 23.3.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



krobs, попробую тебе помочь, но не гарантирую что на 100 поможет
С перва AdoQuery связать с AdoConnection, потом AdoDataSource с AdoQuery, и DBGrid с AdoDataSource.
Код

ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT sb.Name, sts.TestResult  FROM Subjects sb, StudentToSubject sts, Students s'+
     'WHERE (sts.StudentID=s.Id AND s.Name="'+Edit1.text+'") AND (sts.SubjectId=sb.Id)');
ADOQuery1.Open;

Добавлено @ 10:52
krobs, попробую тебе помочь, но не гарантирую что на 100 поможет
С перва AdoQuery связать с AdoConnection, потом AdoDataSource с AdoQuery, и DBGrid с AdoDataSource.
Код

ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT sb.Name, sts.TestResult  FROM Subjects sb, StudentToSubject sts, Students s'+
     'WHERE (sts.StudentID=s.Id AND s.Name="'+Edit1.text+'") AND (sts.SubjectId=sb.Id)');
ADOQuery1.Open;


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

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


 




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


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

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