Проблема с MysQL 5.6 и SQLQuery
Добавлено: 15.05.2015 17:24:38
Добрый день
Сразу скажу - с лазарусом работаю недавно, после перерыва (много лет не делал ничего, раньше использовал delphi).
Делаю базу данных простенькую для собственных нужд, выбрал MySQL 5.6
На форме положил все как по учебнику - SQLConnector, SQLTransaction, SQLQuery, DataSource & DBGrid.
SQLConnector нормально открывает базу данных, свойство active=true
SQLTransaction также нормально, активен
SQLQuery - беда! Все свойства необходимые установил как положено, в SQL выбрал одну целую таблицу (SELECT * FROM tablename), причем в редакторе запроса при нажатии на выполнить таблица грузится, и все поля отображаются, при этом само заполнилось свойство FieldDefs.
Однако компонент ни в какую не хочет активизироваться. Ладно, думаю на этапе исполнения может. Пишу код на кнопку:
И все равно Active не становится true.
В чем проблема? Что я делаю не так? Или беда с mysql 5.6 именно???
Помогите, пожалуйста.
Добавлено спустя 1 час 54 минуты 45 секунд:
Нашел решение с заменой.
Компоненты ZeosDB. С их помощью все заводится сразу же, без костылей. Без единой строчки кода можно сразу подключить базу и собрать приложение с возможностью редактирования таблиц.
Но хотелось бы, конечно, понять, в чем проблема со встроенными компонентами.
Сразу скажу - с лазарусом работаю недавно, после перерыва (много лет не делал ничего, раньше использовал 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. С их помощью все заводится сразу же, без костылей. Без единой строчки кода можно сразу подключить базу и собрать приложение с возможностью редактирования таблиц.
Но хотелось бы, конечно, понять, в чем проблема со встроенными компонентами.