Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
225 / 54 / 0
Регистрация: 29.09.2008
Сообщений: 52

запрос в BDE

01.04.2010, 16:16. Показов 3488. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как сделать запрос чтобы в программе я вводил значения, а это значения уже в запросе сравнивалось с нужным полем из таблицы?

вот зделал два примера запроса, ни один не работает=(

1. через переменную:

Delphi
1
2
var a: string;
a:=Edit1.Text;
SQL
1
2
3
SELECT PIP, Ndog, Jun
FROM Payment, Students
WHERE (a=Students.PIP)
2. Только запросом
SQL
1
2
3
SELECT PIP, Ndog, Jun
FROM Payment, Students
WHERE (Edit1.Text=Students.PIP)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.04.2010, 16:16
Ответы с готовыми решениями:

Как в Delphi сделать запрос на запрос, база mssql, BDE
Добрый день! Кто-нибудь может подсказать, как можно Tquery и использовать как таблицу, при написании другого запроса? Заранее спасибо!

Ремонт Прошу совета ПММ Krona BDE 4507 EU, ПММ Krona BDE 4507 EU Ошибка Е3 исчезла после чистки
Здравствуйте мастера, случай вот какой,3 месяца назад поступила посудомоечная машина Krona BDE 4507 EU с ошибкой Е3 сразу скажу что редко...

BDE
Добрый вечер, немогли бы мне помочь в создании программы в дельфи, суть в задачи в следующем: Разработать любое программное обеспечения...

8
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
01.04.2010, 19:09
Объект, в который ты вставляешь код SQL понятия не имеет, что за переменная а и что за штука такая Edit1.Text. Код SQL может выглядеть, как вариант, следующим образом
SQL
1
2
3
SELECT PIP, Ndog, Jun
FROM Students
WHERE (Students.PIP = :P)
Здесь :P параметр, котрому до открытия набота необходимо задать значение, например, так
MySQL.ParamByName('P').AsString := Edit1.Text
СОВЕТ: если ты начинающий, отходи от BDE. Эта штука давно устарела и не подднрживается борландом.
В примере я отбросил Payment так как на связь таблиц не накладывается ограничения. У тебя получится декартово произведение. Кроме того, для связи таблиц правильнее использовать join
2
225 / 54 / 0
Регистрация: 29.09.2008
Сообщений: 52
01.04.2010, 22:46  [ТС]
SAMZ, Сделал все так как ты написал. При запуске запроса выбивает ошибку:
query1:Parameter 'P' not found.
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
02.04.2010, 06:38
1. Какая у тебя СУБД (скорее всего парадокс)
2. Какие компонентты для реализации запроса ты используешь
3. Ты точно в запросе перед Р поставил двоеточие
0
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
02.04.2010, 11:41
Дополню ответ от SAMZ. Lebron182, в твоём коде должно быть следующее:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
  Query1.Active := False;
  //Текст SQL запроса можно задать через инспектор объектов во время проектирования.
  //Для примера текст SQL запроса определим в коде:
  Query1.SQL.Text :=
    'SELECT PIP, Ndog, Jun' + Char(10)
    + 'FROM Students' + Char(10)
    + 'WHERE (Students.PIP = :P)'
  ;
  //Задаём значение параметра:
  Query1.ParamByName('P').AsString := Edit1.Text;
  //Выполняем запрос.
  Query1.Active := True;
...
1
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
02.04.2010, 13:11
Слово даю, никогда при формировании теста SQL не использовал Char(10). Просвети это для чего?
0
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
02.04.2010, 14:31
Это для разделения на строки. Хотя в данном случае делить на строки и не нужно.
Char(10) это тоже самое, что #10 - код конца строки. Для обозначения конца строки чаще применяют пару символов: #13#10. Но в данном случае и одного #10 достаточно.
Если код #10 не использовать, тогда надо обязательно добавить пробелы:
Delphi
1
2
3
4
5
  Query1.SQL.Text :=
    'SELECT PIP, Ndog, Jun'
    + ' FROM Students'
    + ' WHERE (Students.PIP = :P)'
  ;
1
225 / 54 / 0
Регистрация: 29.09.2008
Сообщений: 52
02.04.2010, 17:42  [ТС]
Большое спасибо ребята все работает=)

еще хотел добавить, посоветуйте какую нибудь книгу где хорошо розписани команди для SQL запросов (желательно с примерами)

Добавлено через 15 минут
появился еще один вопрос
как проще записать эту строку в запросе:
SQL
1
WHERE (Septem= "Не оплачено" AND Octob= "Не оплачено" AND Novem= "Не оплачено" AND Decem= "Не оплачено" AND Jun= "Не оплачено" AND Febr= "Не оплачено" AND March= "Не оплачено" AND April= "Не оплачено" AND May= "Не оплачено" AND June = "Не оплачено")
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
02.04.2010, 19:03
Цитата Сообщение от Lebron182 Посмотреть сообщение
еще хотел добавить, посоветуйте какую нибудь книгу где хорошо розписани команди для SQL запросов
Поищи и посмотри книгу М.Грабера SQL. В свое время это был бестселлер. Написано грамотно и доступно

Добавлено через 7 минут
Цитата Сообщение от Lebron182 Посмотреть сообщение
как проще записать эту строку в запросе:
По этому поводу советовать ничего не буду. Причина в том, что, как мне кажется по виду запроса, который ты пытаешься написать, твоя БД спроектирована кривовато. В БД надо хранить инфу о том, кто и сколько и в каком месяце должен заплатить. Далее, кто, сколько и в каком месяце реально заплатил. Состояние "Оплачен" "Не оплачено" надо определять из соотношения "должен" - "заплатил". Если я ошибся и все на самом деле не так, то извини.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2010, 19:03
Помогаю со студенческими работами здесь

BDE
Подскажите пожалуйста как вставить в инстоляшку BDE и прописать alias работаю в inno setup? Если можно подробно, я начинающий и в этом...

Кэширование в BDE
В поле Name записано, условно, 'Петя' Есть вот такая конструкция: with Form1.Table1 do begin edit; ...

Многопоточность и BDE
Доброе время суток, уважаемые форумчане. Назрела такая проблема: возникла необходимость сравнить две базы данных 1С (состав - *.dbf,...

BDE RELEASE
Вопрос возможно ли встроить BDE в exe-файл..... В проэкте использую 2 TQuery.... как мне сделать чтобы программа работала без...

Could not initialize BDE
У меня вот такая проблема. Поставил Windows 7 и теперь не могу запустить DataBase Desktop. Выдает ошибку Could not initialize BDE. File or...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru