Lazarus + MySQL

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Lazarus + MySQL

Сообщение Alana » 11.10.2010 16:10:35

Создаю новое приложение для работы с базой данных MySQL. Поключение происходит на ура, но запросы не получается сделать. Пишу элементарный запрос "SELECT * from abonents". Пишет "SQL Error: no database selected". Что это может быть? Заранее спасибо за ответ.
Alana
новенький
 
Сообщения: 24
Зарегистрирован: 08.09.2010 16:29:13

Re: Lazarus + MySQL

Сообщение GAMER » 11.10.2010 16:11:57

Нужно выбрать базу, например запросом "use basename"
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Lazarus + MySQL

Сообщение Alana » 11.10.2010 16:14:09

Писала в запросе так:
"USE demand;
SELECT * from abonents;"
Не работает.

"USE demand SELECT * from abonents;" - и в таком виде также не работает.

P.S. demand - название базы, abonents - название таблицы.
Alana
новенький
 
Сообщения: 24
Зарегистрирован: 08.09.2010 16:29:13

Re: Lazarus + MySQL

Сообщение GAMER » 11.10.2010 16:27:35

"USE demand;
SELECT * from abonents;" - разбить на 2 запроса. Точку с запятой ставить не нужно. Это синтаксис для консольного клиента, он не совсем подходит.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Lazarus + MySQL

Сообщение Alana » 11.10.2010 16:38:06

Если писать такой запрос:
USE demand
SELECT * from abonents
он пишет, что ошибка в синтаксисе во 2-ой строке.

И еще такой вопрос по поводу компонентов Zeos. Как можно к ним обращаться? Ну к примеру мне нужно, чтобы при нажатии на кнопку разрывалось соединение с базой. Как обычно делаю событие нажатия кнопки и прописываю код:
ZConnection1.Connected:=false;

И в ответ он мне пишет такую гадость:
"MainUnit.pas(45,15) Error: Identifier not found "ZConnection1""

У меня в одном приложении компонены лежат в отдельном модуле, но к форме, где кнопка, я его подключаю (uses DataModule;). В другом приложении компоненты лежат прям на форме, но эффект в обоих случах одинаковый.

Вот как после этого с этим Лазарем общаться? :wink:
Alana
новенький
 
Сообщения: 24
Зарегистрирован: 08.09.2010 16:29:13

Re: Lazarus + MySQL

Сообщение Mr.Smart » 11.10.2010 17:01:19

Alana писал(а):Вот как после этого с этим Лазарем общаться? :wink:

Я вас уверяю, Лазарус здесь совсем не причём.

У вас в модуле отсутствует идентификатор с именем ZConnection1.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Lazarus + MySQL

Сообщение GAMER » 11.10.2010 17:35:27

Код: Выделить всё
USE demand
SELECT * from abonents

2 разных запроса, и делать их нужно отдельно.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Lazarus + MySQL

Сообщение Alana » 11.10.2010 19:52:48

Mr.Smart писал(а):Я вас уверяю, Лазарус здесь совсем не причём.

Да это я так, с шуткой :) Я так-то против него ничего не имею, но в делфи все-таки все четче отрабатывается :)
У вас в модуле отсутствует идентификатор с именем ZConnection1.

Хм, все, разобралась ) Сама протупила) Обращалась ZConnection1.ZQuery и еще хотела, чтобы все работало :D Ну конец рабочего дня, голова крыша поехала) И еще мне показалось, что прежде чем обращаться к компонентам привязанного модуля нало откомпилировать прогрумму. Ну может я что-то попутала :)
GAMER писал(а):2 разных запроса, и делать их нужно отдельно.

USE demand не делается отдельно. Пишет "Can not open ResultSet". Прям напасть какая-то с запросами :lol:

Добавила через несколько минут:
Все, сделала ) Извините за тупость) Там, оказывается, в запросе нужно писать demand.abonents, то есть сперва указать базу, а потом таблицу. Вот я протупила :)
Alana
новенький
 
Сообщения: 24
Зарегистрирован: 08.09.2010 16:29:13

Re: Lazarus + MySQL

Сообщение Mr.Smart » 11.10.2010 21:00:12

Alana писал(а):Там, оказывается, в запросе нужно писать demand.abonents, то есть сперва указать базу, а потом таблицу.

Не обязательно.
Alana писал(а):USE demand не делается отдельно. Пишет "Can not open ResultSet". Прям напасть какая-то с запросами

Ну да. Всё вам правильно пишет. Данный запрос не возвращает таблицу. Для выполнения подобных запросов есть метод ExecSQL :wink:
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Lazarus + MySQL

Сообщение Alana » 11.10.2010 21:10:32

Mr.Smart писал(а):Не обязательно.

Хм, а по-другому я тогда не знаю как ))))
Ну да. Всё вам правильно пишет. Данный запрос не возвращает таблицу. Для выполнения подобных запросов есть метод ExecSQL :wink:

Ммммм..... Значит такое я тоже не знаю............ :(
Alana
новенький
 
Сообщения: 24
Зарегистрирован: 08.09.2010 16:29:13

Re: Lazarus + MySQL

Сообщение Максим » 11.10.2010 23:46:27

Alana писал(а):Ммммм..... Значит такое я тоже не знаю............ :(

Это есть в книжках по Delphi, кстати. Не расстраивайтесь, вы на правильном пути. :)
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Lazarus + MySQL

Сообщение Vadim » 12.10.2010 02:58:39

Alana писал(а):Хм, а по-другому я тогда не знаю как

Если у Вас работа идёт только с одной базой, то её название указывается в свойстве ZConnection1.Database. После этого писать название в запросе совершенно не обязательно.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Lazarus + MySQL

Сообщение Alana » 12.10.2010 09:26:45

Mr.Smart писал(а):Ну да. Всё вам правильно пишет. Данный запрос не возвращает таблицу. Для выполнения подобных запросов есть метод ExecSQL :wink:

Точно, сейчас вспомнила про это.
Vadim писал(а):Если у Вас работа идёт только с одной базой, то её название указывается в свойстве ZConnection1.Database. После этого писать название в запросе совершенно не обязательно.

Хм, а я выбирала только в свойстве Сatalog базу данных. Да, прописав в Database свою базу, можно не прописывать в запросе имя базы. Спасибо :) Теперь все работает нормально ))
Alana
новенький
 
Сообщения: 24
Зарегистрирован: 08.09.2010 16:29:13


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42

Рейтинг@Mail.ru