Lazarus + MySQL
Модератор: Модераторы
Lazarus + MySQL
Создаю новое приложение для работы с базой данных MySQL. Поключение происходит на ура, но запросы не получается сделать. Пишу элементарный запрос "SELECT * from abonents". Пишет "SQL Error: no database selected". Что это может быть? Заранее спасибо за ответ.
Писала в запросе так:
"USE demand;
SELECT * from abonents;"
Не работает.
"USE demand SELECT * from abonents;" - и в таком виде также не работает.
P.S. demand - название базы, abonents - название таблицы.
"USE demand;
SELECT * from abonents;"
Не работает.
"USE demand SELECT * from abonents;" - и в таком виде также не работает.
P.S. demand - название базы, abonents - название таблицы.
Если писать такой запрос:
USE demand
SELECT * from abonents
он пишет, что ошибка в синтаксисе во 2-ой строке.
И еще такой вопрос по поводу компонентов Zeos. Как можно к ним обращаться? Ну к примеру мне нужно, чтобы при нажатии на кнопку разрывалось соединение с базой. Как обычно делаю событие нажатия кнопки и прописываю код:
ZConnection1.Connected:=false;
И в ответ он мне пишет такую гадость:
"MainUnit.pas(45,15) Error: Identifier not found "ZConnection1""
У меня в одном приложении компонены лежат в отдельном модуле, но к форме, где кнопка, я его подключаю (uses DataModule;). В другом приложении компоненты лежат прям на форме, но эффект в обоих случах одинаковый.
Вот как после этого с этим Лазарем общаться?
USE demand
SELECT * from abonents
он пишет, что ошибка в синтаксисе во 2-ой строке.
И еще такой вопрос по поводу компонентов Zeos. Как можно к ним обращаться? Ну к примеру мне нужно, чтобы при нажатии на кнопку разрывалось соединение с базой. Как обычно делаю событие нажатия кнопки и прописываю код:
ZConnection1.Connected:=false;
И в ответ он мне пишет такую гадость:
"MainUnit.pas(45,15) Error: Identifier not found "ZConnection1""
У меня в одном приложении компонены лежат в отдельном модуле, но к форме, где кнопка, я его подключаю (uses DataModule;). В другом приложении компоненты лежат прям на форме, но эффект в обоих случах одинаковый.
Вот как после этого с этим Лазарем общаться?
Alana писал(а):Вот как после этого с этим Лазарем общаться?
Я вас уверяю, Лазарус здесь совсем не причём.
У вас в модуле отсутствует идентификатор с именем ZConnection1.
- GAMER
- энтузиаст
- Сообщения: 627
- Зарегистрирован: 06.08.2008 13:41:07
- Откуда: Ужгород-Днепр, Украина
- Контактная информация:
Код: Выделить всё
USE demand
SELECT * from abonents2 разных запроса, и делать их нужно отдельно.
Mr.Smart писал(а):Я вас уверяю, Лазарус здесь совсем не причём.
Да это я так, с шуткой
У вас в модуле отсутствует идентификатор с именем ZConnection1.
Хм, все, разобралась ) Сама протупила) Обращалась ZConnection1.ZQuery и еще хотела, чтобы все работало
GAMER писал(а):2 разных запроса, и делать их нужно отдельно.
USE demand не делается отдельно. Пишет "Can not open ResultSet". Прям напасть какая-то с запросами
Добавила через несколько минут:
Все, сделала ) Извините за тупость) Там, оказывается, в запросе нужно писать demand.abonents, то есть сперва указать базу, а потом таблицу. Вот я протупила
Alana писал(а):Там, оказывается, в запросе нужно писать demand.abonents, то есть сперва указать базу, а потом таблицу.
Не обязательно.
Alana писал(а):USE demand не делается отдельно. Пишет "Can not open ResultSet". Прям напасть какая-то с запросами
Ну да. Всё вам правильно пишет. Данный запрос не возвращает таблицу. Для выполнения подобных запросов есть метод ExecSQL
Mr.Smart писал(а):Не обязательно.
Хм, а по-другому я тогда не знаю как ))))
Ну да. Всё вам правильно пишет. Данный запрос не возвращает таблицу. Для выполнения подобных запросов есть метод ExecSQL
Ммммм..... Значит такое я тоже не знаю............
Alana писал(а):Ммммм..... Значит такое я тоже не знаю............
Это есть в книжках по Delphi, кстати. Не расстраивайтесь, вы на правильном пути.
Alana писал(а):Хм, а по-другому я тогда не знаю как
Если у Вас работа идёт только с одной базой, то её название указывается в свойстве ZConnection1.Database. После этого писать название в запросе совершенно не обязательно.
Mr.Smart писал(а):Ну да. Всё вам правильно пишет. Данный запрос не возвращает таблицу. Для выполнения подобных запросов есть метод ExecSQL
Точно, сейчас вспомнила про это.
Vadim писал(а):Если у Вас работа идёт только с одной базой, то её название указывается в свойстве ZConnection1.Database. После этого писать название в запросе совершенно не обязательно.
Хм, а я выбирала только в свойстве Сatalog базу данных. Да, прописав в Database свою базу, можно не прописывать в запросе имя базы. Спасибо
