Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

добавление рисунка в БД из файла [D5, MSSQL]


Страницы:   1 2

KirillRepin ©   (2008-09-12 12:04:00) 

Подскажите пожалуйста в чем ошибка? рисунок в БД не добавляется.
процедура в БД:
CREATE PROCEDURE Proc_AddImage
@im image
AS
BEGIN
 INSERT INTO Tab_Pictures (Pic_Name, Pic)
  VALUES ('picture1', @im)
END

GO

код в дельфи:
 StoredProc1.ParamByName('@im').LoadFromFile('C:\1r.bmp', ftBlob);
 StoredProc1.ExecProc;

Что сделано не правильно и как надо?
Заранее благодарен!


Ega23   (2008-09-12 12:57:00) [21]


> 1 picture1 0xFFFF


Теперь возьми TQuery, вбей ему SQL = еxec Proc_AddImage @im=0xFFFF
и выполни (ExecSQL). Таблицу предварительно очисти.
Запись появилась или нет?


KirillRepin   (2008-09-12 12:53:00) [22]


> выдай результат сюда.


1 picture1 0xFFFF


www   (2008-09-12 12:53:00) [23]


> Для тех кто в танке

"ты суслика видишь? а он есть"
телепатор-с


Ega23   (2008-09-12 12:48:00) [24]


> а что mssql только dirty read поддерживает? или вообще понятие
> транзакции для нее - мыльный пузырь?
>


Для тех кто в танке: где ты видишь открытие транзакции, которую надо коммитить?


www   (2008-09-12 12:44:00) [25]


> Ega23 ©   (12.09.08 12:42) [14]

а что mssql только dirty read поддерживает? или вообще понятие транзакции для нее - мыльный пузырь?


Ega23   (2008-09-12 12:44:00) [26]


> именно из него и QueryAnalizer
>


Набери в QA текст:

exec Proc_AddImage @im=0xFFFF
select * from Tab_Pictures


выдай результат сюда.


Ega23   (2008-09-12 12:42:00) [27]


> который до комита данных их не увидит


Ты, вообще, с какой СУБД работаешь?


> а чем это хуже TQuery или ADO


Всем. Объяснять - это на пол-дня. В кратце: ADO для MSSQL - родная технология для доступа к данным. Т.е. наиболее оптимальная.


KirillRepin   (2008-09-12 12:38:00) [28]


> мож он из какаго-то sql-манагера смотрит который до комита
> данных их не увидит

именно из него и QueryAnalizer


KirillRepin   (2008-09-12 12:34:00) [29]

и как это можно решить через StoredProcedure?


www   (2008-09-12 12:34:00) [30]


> Ega23 ©   (12.09.08 12:31) [9]

автор пишет что не видит результата
чем он его не видит - не сказал
мож он из какаго-то sql-манагера смотрит который до комита данных их не увидит


KirillRepin   (2008-09-12 12:33:00) [31]


> 1. выбрасываем StoredProcedure. Вообще забудь про этот компонент.

а чем это хуже TQuery или ADO


Ega23   (2008-09-12 12:31:00) [32]


> как причем?!
> а если проверяет наличие данных из другой проги?


Да хоть откуда.
Ещё раз: при чём конкретно в этом примере коммит. И где ты его "не видишь"?


KirillRepin   (2008-09-12 12:29:00) [33]

никаких ошибок не всплывает, курсор меняется на sql часы и обратно. внешне кажется что процедура отрабатывает нормально.


Ega23   (2008-09-12 12:29:00) [34]

1. выбрасываем StoredProcedure. Вообще забудь про этот компонент.
2. Берём TQuery в случае BDE (тоже лучше забудь про эту технологию) или TADOCommand в случае ADO (это наш выбор!)
3. Пишем текст exec Proc_AddImage @im=:im
4. Ставим parameters.ParamByName('im').Paramtype = ftBLOB;
5. Грузим parameters.ParamByName('im').LoadFrom....
6. Execute.


www   (2008-09-12 12:28:00) [35]


> При чём тут коммит?????

как причем?!
а если проверяет наличие данных из другой проги?


Ega23   (2008-09-12 12:23:00) [36]


> а коммит был ?


При чём тут коммит?????


stas   (2008-09-12 12:22:00) [37]

И ошибка никакая не пишеться?


www   (2008-09-12 12:22:00) [38]

а коммит был ?


KirillRepin   (2008-09-12 12:20:00) [39]

в базе таблицу смотрел она пустая


stas   (2008-09-12 12:17:00) [40]

А почему решил что недобавляется?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо