Главная страница
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.015 c
3-17466
SQL monitor
2002-04-11 17:12
2002.05.06
Скажите, чем можно мониторить sql запросы в ado?


4-17751
Song
2002-03-04 18:07
2002.05.06
Как в чужом окне программно нажать Ctrl+C???


3-17476
s-gorbachev
2002-04-12 12:10
2002.05.06
Как сортировать строки в IBTable


6-17648
RoGa
2002-02-17 09:21
2002.05.06
Нужно сделать прокси!


6-17659
Лёша
2002-01-18 16:35
2002.05.06
Посоветуйте простейший веб-сервер.