Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

blob -> Query   Найти похожие ветки 

 
fess ©   (2005-02-03 19:05) [0]

Здравствуйте мастера!
Я все-таки сделал возможной запись с помощью Query в поле Blob рисунка!
Но тут передо мной встала полностью противоположная задача.. ;)

1) Как считать из поля Blob в поток TMemoryStream данные с помощью Query?!

2) Нужно просто создать копию строки в определенной таблице, одним из полей которой является поле BLOB. Как сделать это с помощью Query?!
Заранее спасибо всем, кто примет участие в решении моей проблемы.


 
fess ©   (2005-02-03 19:06) [1]

Я пытался сделать так, но... ошибка! Хотя с 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);


 
Соловьев ©   (2005-02-03 19:07) [2]


> 2) Нужно просто создать копию строки в определенной таблице,
> одним из полей которой является поле BLOB. Как сделать это
> с помощью Query?!

insert into table1 (field_blob)
select field_blob
from table1
where id = :p1


 
fess ©   (2005-02-03 19:16) [3]

Но мне нужно не только скопировать определенный значения, но и некоторые поля в копируемой строке изменить?!


 
Соловьев ©   (2005-02-03 19:17) [4]


> Но мне нужно не только скопировать определенный значения,
> но и некоторые поля в копируемой строке изменить?!

insert into table1 (field_blob, name)
select field_blob, "копия"
from table1
where id = :p1


 
fess ©   (2005-02-03 19:28) [5]

Возникает ошибка... ;(
я делаю след. образом:

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]);



 
fess ©   (2005-02-03 19:29) [6]

Ошибка в INSERT into...... :(


 
Соловьев ©   (2005-02-03 19:30) [7]


> 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]?


 
Соловьев ©   (2005-02-03 19:35) [8]


> dm.ADOTableQuest.

за это бить надо :)
используй TADODatSet


 
fess ©   (2005-02-03 20:08) [9]

Ок! ;) Но надо все попробывать, чтобы потом выбрать лучшее...
Я везде поставил [image]. Теперь такая ошибка :Ошибка в инстркции (запятая)  SELECT (NameOfQuest, Dt, Id_Topic, 2, Id_Razdel, Id_Discip, Difficulty_Test, The_Right_Answer, Subtype_Task, Flag_Image, [Image])
Что ему на этот раз ненравится?!


 
fess ©   (2005-02-03 20:11) [10]

Просветите пожалуйста, что означают квадратные скобки в [Image]?


 
Соловьев ©   (2005-02-04 10:42) [11]

а с каких єто пор в select поля в скобки "(" и ")" берутся?


 
Соловьев ©   (2005-02-04 10:52) [12]


> Просветите пожалуйста, что означают квадратные скобки в
> [Image]?

если вдруг тебе приспичит назвать поле как зарезервированное, то можно, но для этого надо его в [] взять.



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
1-1108560047
Bako
2005-02-16 16:20
2005.03.06
Анимированный GIF и JvRichEdit


4-1106308683
SvarogBarg
2005-01-21 14:58
2005.03.06
Как получить URL адрес


1-1108559757
mr-jack
2005-02-16 16:15
2005.03.06
PrintDialog и конструкция try...end;


4-1106433800
Unleashed
2005-01-23 01:43
2005.03.06
Setupdi функции


11-1090485751
Ajax
2004-07-22 12:42
2005.03.06
coOwnerDrawFixed и размер ComboBox