TSQLQuerry не переводится в состояние Active

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

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

TSQLQuerry не переводится в состояние Active

Сообщение Reyko » 04.12.2010 20:03:33

Доброго времени суток!
Проблема состоит в следующем: компонент типа TSQLQuery не может "активироваться". При этом никаких ошибок не выдает. Пробовала сделать пробный пример как в сататье. После приведенных ниже строк ничего не происходит, компонент DBGrid не заполняется данными, хотя все свойсва компонентов DBGrid, Datasource прописаны правильно.
Код: Выделить всё
SQLQuery1.SQL.Text:='SELECT * from  myArtTable;';
SQLQuery1.Open;

Решила проверить работает ли компонент вообще или нет, добавила строчку:
Код: Выделить всё
if SQLQuery1.Active then ShowMessage('Запрос пошел') else ShowMessage('Запрос не пошел');

Выводится второе сообщение - 'Запрос не пошел'. Пробовала в ручную в инспекторе объектов ставить значение Active в true - Лазарь сразу переводит значение в false, опять же никаких ошибок не выдает. До этого работала с Firebird и все было без ошибок.
Использую MySQL 5.1.46, Lazarus 0.9.29, FPC 2.4.
Заранее всем спасибо за ответы
Reyko
новенький
 
Сообщения: 15
Зарегистрирован: 05.11.2009 23:48:12
Откуда: Магнитогорск

Re: TSQLQuerry не переводится в состояние Active

Сообщение kaigerda » 05.12.2010 00:53:21

У вас для таблицы выставлено "ENGINE=MyISAM", как и в статье? Если да, то MyISAM не поддерживает транзакции, а код работает без ошибок :)
kaigerda
незнакомец
 
Сообщения: 4
Зарегистрирован: 03.12.2010 13:14:55

Re: TSQLQuerry не переводится в состояние Active

Сообщение Reyko » 05.12.2010 01:24:41

kaigerda, У меня с транзакциями все нормально. Просто я не могу получить результат запроса. Новые данные в таблицы вносятся, лишние строки удаляются - все работает, но там где нужно именно получить выборку, т.е. открыть соединение с БД - приложение отказывается выполнять.

P.S.: Кстати, да, у меня MyISAM, но транзакция переходит в состояние Active :D
Reyko
новенький
 
Сообщения: 15
Зарегистрирован: 05.11.2009 23:48:12
Откуда: Магнитогорск

Re: TSQLQuerry не переводится в состояние Active

Сообщение Vadim » 05.12.2010 04:46:16

Reyko
Попробуйте точку с запятой из текста запроса убрать.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: TSQLQuerry не переводится в состояние Active

Сообщение Reyko » 05.12.2010 13:30:35

Vadim , я попробовала убрать точку с запятой, но ничего не изменилось :( . Как неработал так и не работает. Проблема, наверное все-таки в настройках компонента...

Добавлено спустя 26 минут 52 секунды:
Проблема решена!
Я просто удалила значние свойства Datasource компонента SQLQuery и оставила просто пустым. Запрос, начал открываться, и отображать данные в DBGrid.
Reyko
новенький
 
Сообщения: 15
Зарегистрирован: 05.11.2009 23:48:12
Откуда: Магнитогорск

Re: TSQLQuerry не переводится в состояние Active

Сообщение Vadim » 05.12.2010 16:35:04

Reyko
А зачем Вы DataSource заполняли?
Это поле нужно только для создания связанных между собой наборов данных. Типа как при отчётах Master-Detail...
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 32

Рейтинг@Mail.ru