Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2009, 00:35   #1
Gurt87
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 24
По умолчанию Запрос в FireBird

Здравствуйте!
При работе с Firebird возникла проблема:
На форму кинул
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
IBQuery1: TIBQuery;
связал их
Подключился успешно
После выполнения запроса с помощью IBQuery1, IBQuery1.RecordCount возвращает 1!
Хотя их там больше!
Что самое интересное это то что когда я кидаю на форму DataSource1 и DBGrid1 и связываю их с IBQuery1 то все в порядке, IBQuery1.RecordCount возвращает правильное количество записей…
Для меня мистика…Я начинающий…
Но DBGrid1 мне не нужен на форме!
Делаю его невидимым – опять IBQuery1.RecordCount становиться равным 1
Что делать??
Нужно что бы в переменную Count возвращалось число записей

Код:
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT * FROM LOGIN');
IBQuery1.Open;
Count:= IBQuery1.RecordCount ;
Заранее благодарен!
Gurt87 вне форума Ответить с цитированием
Старый 30.09.2009, 06:56   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Код:
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT * FROM LOGIN');
IBQuery1.Open;
IBQuery1.last;
Count:= IBQuery1.RecordCount ;
или
Код:
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT count(*) FROM LOGIN');
IBQuery1.Open;
Count:= IBQuery1.fieldvalues['count'];
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)

Последний раз редактировалось BARNEY; 30.09.2009 в 06:58.
BARNEY вне форума Ответить с цитированием
Старый 30.09.2009, 14:50   #3
Gurt87
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 24
По умолчанию

Спасибо ! Все получилось!


Еще вопрос
Сделал запрос

Код:
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT jpg FROM pictures');
IBQuery1.Open;
Поле jpg – BloB поле с рисунком формата jpg
На форме есть Image1: TImage;
Как рисунок из запроса засунуть в Image1???
Gurt87 вне форума Ответить с цитированием
Старый 30.09.2009, 15:33   #4
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

не разу с этим полем не работал...может

Код:
image.picture:=IBQuery1.fieldvalues['jpg'];
или 
Image1.Picture.Bitmap.Assign(IBQuery1.fieldvalues['jpg']);
или
 Image1.Picture.Bitmap.Assign(TBLOBField(IBQuery1.Fields[0]);
Как проверите отпишитесь.... в коде могут быть ошибки по памяти писал.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 01.10.2009, 19:40   #5
Gurt87
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 24
По умолчанию

Цитата:
Сообщение от BARNEY Посмотреть сообщение
не разу с этим полем не работал...может

Код:
image.picture:=IBQuery1.fieldvalues['jpg'];
или 
Image1.Picture.Bitmap.Assign(IBQuery1.fieldvalues['jpg']);
или
 Image1.Picture.Bitmap.Assign(TBLOBField(IBQuery1.Fields[0]);
Как проверите отпишитесь.... в коде могут быть ошибки по памяти писал.
Решил проблему так:
Код:
//Для *.jpg
Image1.Picture.Graphic.Assign(IBQuery1.FieldByName('jpg'));


//Для *.bmp
Image1.Picture.Assign(IBQuery1.FieldByName('jpg'));
Gurt87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ERWin 7.3 и FireBird 1.5 Шульц БД в Delphi 1 13.07.2009 12:38
Дерево в FireBird Cerber24 БД в Delphi 9 06.04.2009 20:55
FireBird Д'якон БД в Delphi 2 04.12.2008 11:15
FireBird 1.5.4 Nikola__ БД в Delphi 2 17.11.2008 14:42
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50