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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 04:16   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию pFIBDataSet1.Active:=true;

При попытке установить в положение true выскакиевает ошибка query is empty, как можно этого избежать?
Lokos вне форума Ответить с цитированием
Старый 27.04.2010, 04:31   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Это значит, что у Вас в свойстве либо SelectSQL, либо InsertSQL у компонента pFIBDataSet1. Напишите там что-нибудь, а при выполнении запроса очищайте и присвайвайте новый свой запрос.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.04.2010, 04:36   #3
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Это значит, что у Вас в свойстве либо SelectSQL, либо InsertSQL у компонента pFIBDataSet1. Напишите там что-нибудь, а при выполнении запроса очищайте и присвайвайте новый свой запрос.
ок попробую еще есть воросик следующий код

Код:
pFIBQuery1.Prepare;
pFIBQuery1.Params[0].LoadFromFile('D:\1.jpg');
 Form1.pFIBQuery1.ExecQuery;
Form1.pFIBQuery1.Transaction.Commit;
для чего используется pFIBQuery1.Prepare; и pFIBQuery1.Params[0]
прочел мануал там нет объяснения
Lokos вне форума Ответить с цитированием
Старый 27.04.2010, 04:48   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
для чего используется pFIBQuery1.Prepare;
Точно не уверен, но вероятно для того, чтобы подготовить pFIBQuery1 к запросу.

Цитата:
для чего используется FIBQuery1.Params[0]
Вот это не знаю, но, попробую предположить, что это в некий параметр загружается картинка. На счет этого не знаю точно.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.04.2010, 04:52   #5
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Точно не уверен, но вероятно для того, чтобы подготовить pFIBQuery1 к запросу.


Вот это не знаю, но, попробую предположить, что это в некий параметр загружается картинка. На счет этого не знаю точно.
Насчет параметра тоже были такие мысли потому как blob полю тоже выставляется параметр в моем случае это был 0 бинарные данные. Но при попытке записи возникали ошибки.
Lokos вне форума Ответить с цитированием
Старый 27.04.2010, 04:54   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Lokos, ну а Ваш-то вопрос исчерпан?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.04.2010, 05:02   #7
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Lokos, ну а Ваш-то вопрос исчерпан?
собственно да За несколько дней я понял что DataSet крайне не удобный компонент)) Появился другой. В DBGrid выводится данные следующим запросом
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Form1.pFIBDataSet1.Close;
 Form1.pFIBDataSet1.SQLs.SelectSQL.Text:='SELECT KOL,"ИМЯ",FOTO FROM NT';
 Form1.pFIBDataSet1.Open;
 Form1.pFIBDataSet1.Active:=True;
end;
DataSorse прикручен DBImage и когда в DBGrid'e щелкаем по записи с картинкой она должна отображаться в IMAG'e но выходит ошибка что bitmap not valid. Я подозреваю что Image поддерживает *.bmp а я писал в базу jpg как можно решить данную проблему
Lokos вне форума Ответить с цитированием
Старый 27.04.2010, 05:22   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
как можно решить данную проблему
Подключите модуль jpeg в uses.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.04.2010, 05:28   #9
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Подключите модуль jpeg в uses.
подключил бестолку. Но появилась другая идея сохранить картинку в поток а из потока в переменную типа TJpegImage и из нее уже в Image вообщем вот код
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
 pic:TJpegImage;
  ms:Tstream;
begin
ms.Create;
Form1.pFIBDataSet1.Close;
 Form1.pFIBDataSet1.SQLs.SelectSQL.Text:='SELECT KOL,"ИМЯ",FOTO FROM NT where ID=21';
 Form1.pFIBDataSet1.Open;
 Form1.pFIBDataSet1.Active:=True;
with pFIBDataSet1 do
begin
if not FieldByName('FOTO').IsNull then
begin
TBlobField(FieldByName('FOTO')).SaveToStream(ms);
end;
 end;
end;
Но почемуто картинка не сохраняется в поток выдается ошибка доступа к адресу

а если заменить процедуру сохранения на SaveToFile то на диске появляется в полне читабельная картинка
Lokos вне форума Ответить с цитированием
Старый 27.04.2010, 06:18   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А если в БД сохранять путь к картинке, а потом уже грузить при обращении к какой-то записе эту картинку по пути из БД?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
указываю в nametable имя бд spartak.db и потом в active нажимаю true...выскакивает ошибка... Gsingle Общие вопросы Delphi 3 03.04.2010 09:53
False,True Jony Wocker Общие вопросы C/C++ 2 06.02.2010 00:42
OpenDialog1.Execute=true (error) zotox Помощь студентам 2 13.07.2009 16:30
Проверка (True or False for CheckBox) NeiL Общие вопросы Delphi 5 31.01.2008 09:42
Panel1.Visible:=true s-force Компоненты Delphi 7 30.08.2007 02:22