Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.041 c
10-1085459737
dima74
2004-05-25 08:35
2005.03.06
Передача параметров в методы интерфейса (COM DLL )


1-1108468727
IDONTKNOW
2005-02-15 14:58
2005.03.06
Подскажите, как организовать аналог Timer a, чтобы определенная


1-1108828876
assa
2005-02-19 19:01
2005.03.06
Как в CLX изменять темы?


8-1100680884
BRemB
2004-11-17 11:41
2005.03.06
Формат файла TIF


14-1108516196
БаТоН
2005-02-16 04:09
2005.03.06
ПОЧЕМУ foo и bar() ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский