Главная страница
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.027 c
6-1103709772
Chaser
2004-12-22 13:02
2005.03.06
Не работает присвоение порта к IdUDPServer


1-1109060871
Maks Realov
2005-02-22 11:27
2005.03.06
Как лучше реализовать запись множества дин. данный в файл?


1-1108823266
Коля
2005-02-19 17:27
2005.03.06
есть StringGrid. как выделить текст в одной из ячеек програмно?


1-1108676633
NickKuz
2005-02-18 00:43
2005.03.06
сравнение двух близких цветов


1-1108975828
КаПиБаРа
2005-02-21 11:50
2005.03.06
Создание экземпляров объектов и работа с ними в потоке