Главная страница
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.077 c
10-1085723911
Punker
2004-05-28 09:58
2005.03.06
Выбрать лист в Excel?


6-1103822762
Alexey Romanskiy
2004-12-23 20:26
2005.03.06
Как узнать свой ай-пишник?


3-1107515479
syte_ser78
2005-02-04 14:11
2005.03.06
бд в ехе


4-1106295756
Stanislav
2005-01-21 11:22
2005.03.06
Ответ на сообщение


1-1108816012
Bird
2005-02-19 15:26
2005.03.06
Формат Excel-файла