Страница 1 из 1

Проблема с MysQL 5.6 и SQLQuery

СообщениеДобавлено: 15.05.2015 17:24:38
java73
Добрый день
Сразу скажу - с лазарусом работаю недавно, после перерыва (много лет не делал ничего, раньше использовал delphi).
Делаю базу данных простенькую для собственных нужд, выбрал MySQL 5.6
На форме положил все как по учебнику - SQLConnector, SQLTransaction, SQLQuery, DataSource & DBGrid.
SQLConnector нормально открывает базу данных, свойство active=true
SQLTransaction также нормально, активен
SQLQuery - беда! Все свойства необходимые установил как положено, в SQL выбрал одну целую таблицу (SELECT * FROM tablename), причем в редакторе запроса при нажатии на выполнить таблица грузится, и все поля отображаются, при этом само заполнилось свойство FieldDefs.
Однако компонент ни в какую не хочет активизироваться. Ладно, думаю на этапе исполнения может. Пишу код на кнопку:
Код: Выделить всё
SQLQuery1.Active:=false;
    SQLQuery1.SQL.Clear;
    SQLQuery1.sql.add('SELECT * FROM film');
    SQLQuery1.Open;
    DBGrid1.Refresh;
    if SQLQuery1.Active then ShowMessage ('Открыто')
       else ShowMessage ('Закрыто')

И все равно Active не становится true.
В чем проблема? Что я делаю не так? Или беда с mysql 5.6 именно???
Помогите, пожалуйста.

Добавлено спустя 1 час 54 минуты 45 секунд:
Нашел решение с заменой.
Компоненты ZeosDB. С их помощью все заводится сразу же, без костылей. Без единой строчки кода можно сразу подключить базу и собрать приложение с возможностью редактирования таблиц.
Но хотелось бы, конечно, понять, в чем проблема со встроенными компонентами.

Re: Проблема с MysQL 5.6 и SQLQuery

СообщениеДобавлено: 16.05.2015 17:16:03
Vadim
java73 писал(а):Но хотелось бы, конечно, понять, в чем проблема со встроенными компонентами.

Из Вашего сообщения проблема непонятна. Выложите свой код, который показывает такую ошибку.
Можете включить в свой код проверку ошибки при открытии:
Код: Выделить всё
try
  SQLQuery.Open;
except
on E: Exception do
  ShowMessage(E.Message);
end;