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

Вниз

Запись BLOB в Access используя TQuery   Найти похожие ветки 

 
romano.ru ©   (2002-04-11 20:32) [0]

Может кто встречался с такой проблемой, помогите кто сможет...

есть таблица в MS Access:
T_DATA с полями
F0 - номер записи
F1 - текст
F2 - BLOB

нужно запихнуть картинку...

не мудрствуя лукаво делаю следующее:


Query1.SQL.Add("INSERT INTO T_DATA(F1,F2) VALUES(:F1, :F2)");
Query1.Params[0].AsString := Edit1.Text;
Query1.Params[1].LoadFromFile("<filename>", ftBlob);
Query1.ExecSQL;


При попытке выполнить происходит следующее:
если файл меньше 256 байт, то все прекрасно пишется в базу, если же файл больше - выдается ошибка
General SQL error
Слишком большая длина поля


Если пользовать TTable - проблемы нет, но по ряду причин нужно пользоваться только TQuery

Если кто встречался с этим глюком - раскажите, please, как с ним бороться!


 
Aleksandr ©   (2002-04-11 20:47) [1]

Как-то совсем хитро... Тут могут и параметры ругаться, Variant тоже не резиновый... Не проще ли попробовать:
Query1.SQL.Add("SELECT * FROM T_Data");
Query1.Open;
Query1.Insert;
Query1.FieldByName("F1").AsString:=Edit1.AsString;
(Query1.FieldByName("F2") AS TBlobField).LoadFromFile(...);
Query1.Post;

если не покатит, что вряд ли, то загрузи файл в поток и сравни его размер с BlobSize поля... Может, он и в самом деле запредельный...


 
romano.ru ©   (2002-04-11 23:08) [2]

Спасибо за ответ!

Все бы ничего, но при вызове методов Insert или Edit вылезает Exception:
Query1: Cannot modify a read-only dataset

:(


 
roottim   (2002-04-12 08:43) [3]

хм!.. связка query+updatesql
и почему вариант.. надо явно указать параметру тип ftBlob


 
romano.ru ©   (2002-04-13 01:39) [4]

Вопрос, к счастью, разрешился!
Проблема исчезла, как только я перенастроил алиас на работу через ODBC-драйвер.
Работает, правда, медленее, но зато работает :)

Народ, спасибо за участие!



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
4-17729
Slider-DSP
2002-02-23 14:31
2002.05.06
Как погасить монитор?


1-17520
T2
2002-04-23 11:34
2002.05.06
Как из OutLook вытащить прикрепленные файлы?


7-17721
mormot
2002-02-05 05:15
2002.05.06
Печать на рулоне


1-17581
neodiX
2002-04-22 15:12
2002.05.06
tdump name.dll


3-17469
Кирилл2
2002-04-11 18:58
2002.05.06
DBGrid+16 цветов = глюк