Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2011, 11:44   #1
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию blob поле, передача в виде string

Имеет клиент северное приложение написанное на indyTCP

схема такая что клиент время от времени отсылает данные на сервер.
в виде готовых SQL запросов. т.е. данные собираются по таблице строковую
переменную и отсылаются на сервере парсятся и выполняются.

пример
Код:
str:='insert into table values (....)';
теперь встала задача запихать фото в базу... с этим проблем у меня не возникло у клиента. Но встала проблема как передать клиенту blob поле в виде готового sql запроса.

побывал так
Код:
str:=qq.fields[2].asString;
но присваивает только до первого #0

пробовал так
Код:
blobF:Tblobfiled;
begin
blobF:=qq.fields[2].asBytes;
end;
получили красивый массив байт
но как дальше передать ..тямы не хватило.

заранее благодарен за помощь.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 12.12.2011, 12:47   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В виде готового SQL-запроса не получится. На клиенте перекодировал бы в символьный вид (например BASE64), передал бы как строку символов. На сервере обратное преобразование и через ADOQuery запись в базу. Воможно и без преобразования в символьный можно обойтись, но в мемо SQL запросом слабо записать, без ADOQuery не обойтись
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 12.12.2011 в 12:51.
Аватар вне форума Ответить с цитированием
Старый 12.12.2011, 15:50   #3
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

спасибо за подсказку.
решил проблему с помощью

Код:
uses EncdDecd;
 
// Кодирует поток в Base64
procedure EncodeStream(Input, Output: TStream);
// Декодирует поток из Base64 в нормальный вид
procedure DecodeStream(Input, Output: TStream);
// Кодирует строку в Base64
function  EncodeString(const Input: string): string;
// Декодирует строку из Base64 в нормальный вид
function  DecodeString(const Input: string): string;
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BLOB поле artemavd БД в Delphi 17 09.08.2016 02:13
BLOB поле + изображение Nastenaad Помощь студентам 0 14.05.2011 16:58
Запись в blob поле Ruska882009 PHP 10 08.10.2010 16:24
MsAccess:Blob поле NurNet БД в Delphi 0 07.06.2010 17:45
BLOB в string _andrews_ БД в Delphi 0 20.04.2007 12:05