Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.23;
Скачать: CL | DM;

Вниз

подстановка значения поля в SQL запрос.   Найти похожие ветки 

 
Shapovalov Kirill   (2002-12-05 09:38) [0]

Здравствуйте. Столкнулся с проблемой. Имеется запрос который считает количество студентов в группе. Когда в sql builder"e выполняешь е запрос, то всё хорошо. Во время работы программы я изменяю запрос так
format(Select * from student where gruppa=%s,[Form1.Edit1.text]);
То есть подставляю значения поля. потом выбираю метод execSQL.
И пророга у меня ничего не считает.
Вопросы такие:
1) Как правильно подстанавливать значения полей.
2) Как правильно выполнять запросы.

Спасибо.


 
stone ©   (2002-12-05 09:43) [1]

Используй параметры


 
Max Zyuzin ©   (2002-12-05 09:45) [2]

К тому же метод ExecSQL сипользуется для команд Edit, Update и Delete. Для Select используется Open; (это по второму вопросу),
а по первому - использовать параметры... умеешь?


 
Anatoly Podgoretsky ©   (2002-12-05 09:49) [3]

Две ошибки
1. форматная строка должна быть в одинарных кавычках
2. используешь не тот метод, надо Open


 
neXt ©   (2002-12-05 09:49) [4]

в тексте запроса нужно написать что-то вроде

Select * from student where gruppa = :group

в свойстве Query.Params, в дизайн-тайме, нужно указать тип данных для параметра (DataType), например целое.
а в обработчике события OnBeforeOpen у Query написать что-то вроде.

Query.ParamByName("group").AsInteger := 1000;
// ну или что-там нужно



 
Shapovalov Kirill   (2002-12-05 09:50) [5]

Нет. :( Где про это почитать? Или хотя бы синтаксис команды. в хелпе поковыряю.


 
Max Zyuzin ©   (2002-12-05 10:32) [6]

>Shapovalov Kirill (05.12.02 09:50)
http://www.citforum.ru/programming/32less/index.shtml
Целая книга по Дельфи.
Почитай про работу с БД.
И поищи вообще на этом сайте, там много еще чего есть.

В твоем варианте должно быть примерно так...
Query1.SQL.Clear;
Query1.SQL.Add("Select * from student where gruppa = :group");
Query1.ParamByName("group").AsInteger := 1000;
// Тут все зависит от того какого типа у тебя поле gruppa...
QUery1.Open;



Страницы: 1 вся ветка

Текущий архив: 2002.12.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-74730
Витьок
2002-12-14 10:39
2002.12.23
TTreeView


1-74765
Kibitzer
2002-12-09 22:53
2002.12.23
TWebApplication & TThread


8-74860
Wlad;(
2002-09-07 22:22
2002.12.23
Kто нибудь знает способ получения размера изо. в .rtl файле


14-74971
kronprince
2002-12-03 10:26
2002.12.23
Раньше мне эта затея DeMoN-777 казалась глупой :(


8-74858
SaschaN
2002-09-07 13:00
2002.12.23
Сделать mp3.