Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы
Старый 08.09.2010, 15:14   #1
Lecter2009
Пользователь
 
Регистрация: 30.12.2009
Сообщений: 17
По умолчанию Не могу понять в чем проблема

Вставка картинки в БД Access, код:

Код:
t := 'D:\1.jpg';
ADOQuery1.sql.Add('Insert into Images (Type, Image) Values (:Type, :Image)');
ADOQuery1.parameters.parambyname('Type').Value := 'ffff';
ADOQuery1.parameters.parambyname('Image').DataType := ftBlob;
ADOQuery1.parameters.parambyname('Image').LoadFromFile(t,ftBlob);
ADOQuery1.Prepared;
ADOQuery1.execsql;
Пишет "Ошибка синтаксиса в инструкции INSERT INTO"...." Где ошибка то? Здесь, на этом форуме пример нашел - там все тоже самое.

Поля в БД: Type - текстовый; Image - поле объекта OLE
Lecter2009 вне форума
Старый 08.09.2010, 21:51   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,100
По умолчанию

Код:
ADOQuery1.sql.Add('Insert into Images (Type, Image) Values (:Type, :Image)');
ADOQuery1.parameters.parambyname('Type').Value := 'ffff';
ADOQuery1.parameters.parambyname('Image').DataType := ftBlob;
ADOQuery1.parameters.parambyname('Image').LoadFromFile(t,ftBlob);
showmessage(adoquery1.sql.text);
добавь выделенную строчку и посмотри как выглядит твой запрос
подозреваю там идет дублирование т.к. нет очистки текста
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума
Старый 09.09.2010, 06:12   #3
artemavd
Модератор
Заслуженный модератор
 
Регистрация: 05.06.2008
Сообщений: 4,181
По умолчанию

Так попроуй:
Код:
t := 'D:\1.jpg';
ADOQuery1.Active:=False;
ADOQuery1.sql.Text:='Insert into Images(Type,Image) Values(:Type, :Image)';
ADOQuery1.parameters.parambyname('Type').Value := 'ffff';
ADOQuery1.parameters.parambyname('Image').DataType := ftBlob;
ADOQuery1.parameters.parambyname('Image').LoadFromFile(t,ftBlob);
//ADOQuery1.Prepared; <--мне кажется это лишняя строчка
ADOQuery1.execsql;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 09.09.2010, 07:12   #4
Lecter2009
Пользователь
 
Регистрация: 30.12.2009
Сообщений: 17
По умолчанию

Цитата:
добавь выделенную строчку и посмотри как выглядит твой запрос
подозреваю там идет дублирование т.к. нет очистки текста
Добавил, запрос имеет вид: Insert into Images(Type,Image) Values(:Type, :Image)

Вроде никаких дублей...


Цитата:
//ADOQuery1.Prepared; <--мне кажется это лишняя строчка
Убирал - не помогает
Lecter2009 вне форума
Старый 09.09.2010, 07:17   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Оффтоп:
Цитата:
artemavd
Откуда такая любовь к полным путям? Не красивее ли:
Код:
with ADOQuery1 do begin
 Active:=False;
 sql.Text:='Insert into Images(Type,Image) Values(:Type, :Image)';
 with parameters do begin 
   parambyname('Type').Value := 'ffff';
   parambyname('Image').DataType := ftBlob;
   parambyname('Image').LoadFromFile(t,ftBlob);
 end;
execsql;
end;
I'm learning to live...
Stilet вне форума
Старый 09.09.2010, 07:26   #6
artemavd
Модератор
Заслуженный модератор
 
Регистрация: 05.06.2008
Сообщений: 4,181
По умолчанию

Цитата:
Откуда такая любовь к полным путям?
Да я как бы делал по примеру автора)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 09.09.2010, 07:46   #7
Lecter2009
Пользователь
 
Регистрация: 30.12.2009
Сообщений: 17
По умолчанию

Все, разобрался. Что то не то было с файлом БД, пересоздал новый - все заработало. Всем спасибо

Последний раз редактировалось Lecter2009; 09.09.2010 в 07:48.
Lecter2009 вне форума
Старый 09.09.2010, 07:48   #8
Lecter2009
Пользователь
 
Регистрация: 30.12.2009
Сообщений: 17
По умолчанию

Насчет путей. В основной программе я пишу красиво, так же как показал Stilet Тут приведен просто тестовый пример, лень было "красоту наводить" ) Все равно удалять
Lecter2009 вне форума
Закрытая тема

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается отсортировать структуру. В чем проблема понять никак не могу AlEnanechker Помощь студентам 1 25.12.2009 17:02
Не могу понять в чем проблема BaUruk Общие вопросы C/C++ 3 12.10.2009 09:43
НЕ могу понять в чем проблема! KNatalia Microsoft Office Excel 2 18.08.2009 01:03
Не могу понять в чем проблема!(copy,length,pos) zotox Помощь студентам 1 26.04.2009 02:12
Не могу понять в чем проблема (код) diznt Помощь студентам 2 03.08.2008 09:20


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840