Форум: "Базы";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
Внизподстановка значения поля в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c