![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
blob -> Query [D6, Access]
fess © (2005-02-03 19:05:00)Здравствуйте мастера!
Я все-таки сделал возможной запись с помощью Query в поле Blob рисунка!
Но тут передо мной встала полностью противоположная задача.. ;)
1) Как считать из поля Blob в поток TMemoryStream данные с помощью Query?!
2) Нужно просто создать копию строки в определенной таблице, одним из полей которой является поле BLOB. Как сделать это с помощью Query?!
Заранее спасибо всем, кто примет участие в решении моей проблемы.
Соловьев (2005-02-04 10:52:00) [1]
> Просветите пожалуйста, что означают квадратные скобки в
> [Image]?
если вдруг тебе приспичит назвать поле как зарезервированное, то можно, но для этого надо его в [] взять.
Соловьев (2005-02-04 10:42:00) [2]а с каких єто пор в select поля в скобки "(" и ")" берутся?
fess (2005-02-03 20:11:00) [3]Просветите пожалуйста, что означают квадратные скобки в [Image]?
fess (2005-02-03 20:08:00) [4]Ок! ;) Но надо все попробывать, чтобы потом выбрать лучшее...
Я везде поставил [image]. Теперь такая ошибка :Ошибка в инстркции (запятая) SELECT (NameOfQuest, Dt, Id_Topic, 2, Id_Razdel, Id_Discip, Difficulty_Test, The_Right_Answer, Subtype_Task, Flag_Image, [Image])
Что ему на этот раз ненравится?!
Соловьев (2005-02-03 19:35:00) [5]
> dm.ADOTableQuest.
за это бить надо :)
используй TADODatSet
Соловьев (2005-02-03 19:30:00) [6]
> dm.q.SQL.Add('INSERT INTO Quest (NameOfQuest, Dt, Id_Topic,
> Nmb_Quest, Id_Razdel, Id_Discip, Difficulty_Test, The_Right_Answer,
> Subtype_Task, Flag_Image, Image) ');
[Image]?
fess (2005-02-03 19:29:00) [7]Ошибка в INSERT into...... :(
fess (2005-02-03 19:28:00) [8]Возникает ошибка... ;(
я делаю след. образом:
dm.q.Active:=false;
dm.q.SQL.Clear;
dm.q.SQL.Add('INSERT INTO Quest (NameOfQuest, Dt, Id_Topic, Nmb_Quest, Id_Razdel, Id_Discip, Difficulty_Test, The_Right_Answer, Subtype_Task, Flag_Image, Image) ');
dm.q.SQL.Add(' SELECT (NameOfQuest, Dt, Id_Topic, '+IntToStr(Nmb+1)+', Id_Razdel, Id_Discip, Difficulty_Test, The_Right_Answer, Subtype_Task, Flag_Image, Image) FROM Quest WHERE Id_Quest = '+IntToStr(Id_Quest));
dm.q.ExecSQL;
dm.ADOTableQuest.Active:=false;
dm.ADOTableQuest.Active:=true;
dm.ADOTableQuest.Sort:='Nmb_Quest';
dm.ADOTableQuest.Locate('NameOfQuest', s, [loCaseInsensitive]);
Соловьев (2005-02-03 19:17:00) [9]
> Но мне нужно не только скопировать определенный значения,
> но и некоторые поля в копируемой строке изменить?!
insert into table1 (field_blob, name)
select field_blob, 'копия'
from table1
where id = :p1
fess (2005-02-03 19:16:00) [10]Но мне нужно не только скопировать определенный значения, но и некоторые поля в копируемой строке изменить?!
Соловьев (2005-02-03 19:07:00) [11]
> 2) Нужно просто создать копию строки в определенной таблице,
> одним из полей которой является поле BLOB. Как сделать это
> с помощью Query?!
insert into table1 (field_blob)
select field_blob
from table1
where id = :p1
fess (2005-02-03 19:06:00) [12]Я пытался сделать так, но... ошибка! Хотя с table работает!
dm.ADOQueryBlob.Active:=false;
dm.ADOQueryBlob.SQL.Clear;
dm.ADOQueryBlob.SQL.Add('SELECT [Image] FROM Answer WHERE Id_Answer = '+IntToStr(Id_Answer));
dm.ADOQueryBlob.Active:=true;
(dm.ADOQueryBlob.FieldByName('Image') as TBlobField).SaveToStream(BitMap);