Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2008, 19:09   #1
Lady_olga
Пользователь
 
Регистрация: 16.03.2008
Сообщений: 23
По умолчанию Синтаксис запросов в Delphi (TQuery)

Здравствуйте!
Возникло несколько вопросов при создании запроса. Работаю с компонентом TQuery, таблица Paradox.
Таблица с именем acts.db имеет поля:
1. cod_akt
2. Form
3.Date_akt
4.Zav_KKM
5.Work
6.Mehanik
7.Akt_num

Я хочу написать запрос простой: выделить из таблицы только поля 3-7:

Код:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT Date_akt, Zav_KKM, Work, Mehanik, Akt_num');
Query1.SQL.Add('FROM Akts.db');
Query1.Open;
При запуске сначала выдается ошибка Invalid use of keyword. Token Work
Убираю из запроса work, выдает : Invalid fieldname Akt_num, и так далее убираю поля, которые запрос не находит, пока не сменю под конец все на "*". В формате Select * from все работает отлично.

Второй вопрос такой. У меня два поля Edit1 и Edit2. При нажатии кнопки у меня должен выполняться запрос: в таблице отображаются только записи у которых поле Date_akt (тип Date) находится в промежутке от Edit1 до Edit2.

Заранее спасибо
Lady_olga вне форума Ответить с цитированием
Старый 24.05.2008, 22:31   #2
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

DM1.Query1.Close;
DM1.Query1.SQL.Clear;
DM1.Query1.SQL.Add('select Akts.Date_akt, Akts.Zav_KKM, Akts.Work, Akts.Mehanik, Akts.Akt_num from Akts');
DM1.Query1.Open;

Попробуй так напиши
werser вне форума Ответить с цитированием
Старый 24.05.2008, 22:47   #3
werser
Форумчанин
 
Регистрация: 11.06.2007
Сообщений: 233
По умолчанию

SELECT *
FROM Имя_таблицы
WHERE Имя_поля BETWEEN "Edit1" AND "Edit2"

Если на SQL

DM1.Query1.Close;
DM1.Query1.SQL.Clear;
DM1.Query1.SQL.Add('select *');
DM1.Query1.SQL.Add('FROM Имя_таблицы');
DM1.Query1.SQL.Add('WHERE Имя_поля BETWEEN "' +Edit1.Text+ '" AND "' + Edit2.Text + '"');
DM1.Query1.Open;

по второму, смотри только что был правильный ввод даты

Последний раз редактировалось werser; 24.05.2008 в 23:31.
werser вне форума Ответить с цитированием
Старый 25.05.2008, 02:36   #4
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Цитата:
по второму, смотри только что был правильный ввод даты
для этого существуют параметры - которые во многом облегчают жизнь
dron-s вне форума Ответить с цитированием
Старый 25.05.2008, 12:31   #5
Lady_olga
Пользователь
 
Регистрация: 16.03.2008
Сообщений: 23
По умолчанию

Спасибо всем!
Я сделала запрос вот так (правда пришлось переименовать поля в таблице Form-Forms и Work - Works)

Код:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT A.Act_num, A.Forms, A.Date_akt, A.Zav_KKM, A.Works, A.Mehanik ');
Query1.SQL.Add('FROM Akts.db A');
Query1.SQL.Add('WHERE A.Date_akt BETWEEN "' +DateToStr(Form24.DateTimePicker1.Date)+ '" AND "' + DateToStr(Form24.DateTimePicker2.Date) + '"');
Query1.Open;
Lady_olga вне форума Ответить с цитированием
Старый 25.05.2008, 18:01   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Оленька, а позвольте нескромный вопрос - а почему пришлось переименовывать поля?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.05.2008, 18:09   #7
Lady_olga
Пользователь
 
Регистрация: 16.03.2008
Сообщений: 23
По умолчанию

Вопрос нормальный, я объяснить не могу почему так получалось, но поля Form и Wоrk чем-то не понравились Делфи и он ругался Invalid fieldname, с остальными полями было все ОК. Переименование помогло.
Lady_olga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтаксис Си на Делфи DmT Общие вопросы Delphi 2 28.06.2008 15:30
Синтаксис SQL-запроса для поиска по дате... Рустам БД в Delphi 13 06.04.2008 15:55
TQuery - путь Nati БД в Delphi 8 18.07.2007 12:33
TQuery EdNovice БД в Delphi 2 08.05.2007 14:44