Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Добавление картинки в MS SQL Server 2008  [new]
Ludo89
Member

Откуда:
Сообщений: 5
Здравствуйте!
У меня есть БД на ms sql server, в ней таблица, в которой 2 поля int и 1 image(blob).
На форме в проекте Delphi 7 есть FilenameEdit, Image1 и кнопка по нажатию которой картинка должна записаться в таблицу.

вот ХП на сервере:
ALTER PROCEDURE [dbo].[InsertScan]
@nom_scan int,
@nom_doc int,
@scan image
AS
BEGIN
INSERT INTO scan (nom_scan, nom_doc, scan)
VALUES (@nom_scan, @nom_doc, @scan)
END

Реакция на нажатие кнопки:
DataModule1.StoredProc.Close;
DataModule1.StoredProc.ProcedureName:='InsertScan';
DataModule1.StoredProc.Parameters.Clear;
DataModule1.StoredProc.Parameters.CreateParameter('nom_scan', ftInteger, pdInput, 10, null);
DataModule1.StoredProc.Parameters.ParamValues['nom_scan']:=1;
DataModule1.StoredProc.Parameters.CreateParameter('nom_doc', ftInteger, pdInput, 10, null);
DataModule1.StoredProc.Parameters.ParamValues['nom_doc']:=1;
DataModule1.StoredProc.Parameters.CreateParameter('scan', ftBlob, pdInput, 10, null);
DataModule1.StoredProc.Parameters.ParamValues['scan']:=FilenameEdit.Text;
ShowMessage('Картинка удачно сохранена!');

Ошибки не выдает, но и в таблицу не записывает.
Помогите решить возникшую проблему.
16 май 13, 15:35    [14306175]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ludo89
DataModule1.StoredProc.Parameters.ParamValues['scan']:=FilenameEdit.Text;

Это вы думаете, что передали в процедуру _содержимое_ файла ?

Ludo89
Ошибки не выдает, но и в таблицу не записывает.

И как же вы проверяете первое и второе ?
16 май 13, 15:37    [14306199]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
И где собственно вызов процедуры то ?
16 май 13, 15:49    [14306302]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
Ludo89
Member

Откуда:
Сообщений: 5
Glory
И где собственно вызов процедуры то ?


DataModule1.StoredProc.ProcedureName:='InsertScan';
16 май 13, 16:37    [14306774]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ludo89
DataModule1.StoredProc.ProcedureName:='InsertScan';

Да что вы говорите !
Т.е. вызов процедуры у вас идет первой строкой ? Круто.
16 май 13, 16:39    [14306788]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
Ludo89
Member

Откуда:
Сообщений: 5
Glory, я действительно не понимаю как передать изображение в таблицу.
Вы могли бы мне это объяснить на моем задаче?
16 май 13, 16:41    [14306802]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Ludo89
Glory
И где собственно вызов процедуры то ?


DataModule1.StoredProc.ProcedureName:='InsertScan';

Полуминутное гугление показало, что вызов процедуры должен осуществляться методом ExecProc, перед которым нужно ещё вызвать метод Prepare.
16 май 13, 16:41    [14306804]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ludo89
Glory, я действительно не понимаю как передать изображение в таблицу.
Вы могли бы мне это объяснить на моем задаче?

Наверное надо взять и почитать какие-то учебники/хелпы по Delphi
А то вы пытаетесь половинчатым кодом получить результат
16 май 13, 16:43    [14306815]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Ludo89,

Delphi 7+ADOStoredProc
16 май 13, 16:44    [14306824]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
Ludo89
Member

Откуда:
Сообщений: 5
Гость333
Ludo89
пропущено...


DataModule1.StoredProc.ProcedureName:='InsertScan';

Полуминутное гугление показало, что вызов процедуры должен осуществляться методом ExecProc, перед которым нужно ещё вызвать метод Prepare.


да, действительно нет.....
16 май 13, 16:45    [14306833]     Ответить | Цитировать Сообщить модератору
 Re: Добавление картинки в MS SQL Server 2008  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Ludo89,

ваше сообщение на другом форуме ссылка
16 май 13, 16:46    [14306837]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить