Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
13 / 0 / 1
Регистрация: 03.05.2011
Сообщений: 19

Добавление картинки в MS SQL Server

15.05.2013, 08:13. Показов 4280. Ответов 6
Метки нет (Все метки)

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

вот ХП на сервере
SQL
1
2
3
4
5
6
7
8
9
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
Реакция на нажатие кнопки
Delphi
1
2
3
4
5
6
7
8
9
10
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('Картинка удачно сохранена!');
Ошибки не выдает, но и в таблицу не записывает.
Помогите решить возникшую проблему.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.05.2013, 08:13
Ответы с готовыми решениями:

Добавление файла *.mdf. Ошибка "Должен быть установлен и запущен экспресс-выпуск SQL Server 2005 или SQL Server 2008"
Установлена Visual Studio 2010 и SQL Server 2008 R2 Standard. Хочу добавить в приложение файл базы данных *.mdf, но пишет: "должен...

[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection
Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection Вот такую ошибку выдает. В DSN...

Добавление картинки в sql
Здравствуйте, помогите: Я хочу хранить картинки в таблице базы данных sql (локал дб). По рекомендации с сайта...

6
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
15.05.2013, 17:04
Цитата Сообщение от Марина_К Посмотреть сообщение
Ошибки не выдает, но и в таблицу не записывает.
Где команда на выполнение процедуры?
При вызове хранимой процедуры, не надо создавать параметры. Они уже автоматически созданы.
Delphi
1
2
3
4
5
6
DataModule1.StoredProc.Close;
DataModule1.StoredProc.ProcedureName:='InsertScan';
DataModule1.StoredProc.Parameters.ParamByName('@nom_scan').Value:=1;
DataModule1.StoredProc.Parameters.ParamByName('@nom_doc').Value:=1;
DataModule1.StoredProc.Parameters.ParamByName('@scan').Assign(Image1.Picture.Bitmap);
DataModule1.StoredProc.ExecProc;
1
13 / 0 / 1
Регистрация: 03.05.2011
Сообщений: 19
16.05.2013, 16:58  [ТС]
DataModule1.StoredProc.Close;
DataModule1.StoredProc.ProcedureName:='I nsertScan';
DataModule1.StoredProc.Parameters.ParamB yName('@nom_scan').Value:=1;
DataModule1.StoredProc.Parameters.ParamB yName('@nom_doc').Value:=1;
DataModule1.StoredProc.Parameters.ParamB yName('@scan').Assign(Image1.Picture.Bit map);
DataModule1.StoredProc.ExecProc;

Ошибка: "StoredProc: Parameter '@nom_scan' not found"

Что может быть?
0
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
16.05.2013, 17:25
Цитата Сообщение от Марина_К Посмотреть сообщение
Ошибка: "StoredProc: Parameter '@nom_scan' not found"
Соединение у StoredProc есть? Connection или ConnectionString у него заполнено?

Сделай еще так
Delphi
1
2
3
4
......
DataModule1.StoredProc.ProcedureName:='InsertScan';
DataModule1.StoredProc.Parameters.Refresh;
......
1
13 / 0 / 1
Регистрация: 03.05.2011
Сообщений: 19
16.05.2013, 17:33  [ТС]
antikiler_, спасибо Вам большое за помощь!!!! Все работает)))))

Добавлено через 3 минуты
А вы можете написать, как из БД в image картинку отобразить? Для редактирования, к примеру.
0
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
16.05.2013, 17:59
Цитата Сообщение от Марина_К Посмотреть сообщение
А вы можете написать, как из БД в image картинку отобразить?
Delphi
1
2
3
....
Image1.Picture.Assign((TBlobField(DataModule1.ADOTable1.FieldByName('scan'))));
....
где ADOTable1 - твоя таблица, а картинка текущая запись в ней.
1
13 / 0 / 1
Регистрация: 03.05.2011
Сообщений: 19
16.05.2013, 18:29  [ТС]
В таблицу Scan добавляются изображения с расширением .bmp, а каким образом можно добавлять картинки с другими расширениями .jpg, .png ?

Добавлено через 23 минуты
Delphi
1
2
3
.........
DataModule1.StoredProc.Parameters.ParamByName('@scan').Assign(Image1.Picture.Graphic);
........
Теперь .jpg тоже записывает в БД
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2013, 18:29
Помогаю со студенческими работами здесь

Добавление в БД SQL Server
Пытаюсь добавить запись в БД: con.Open(); string SQL_String = "INSERT INTO pacients_Table(first_name, second_name,...

Добавление картинки в sql базу
Такой вопрос, у меня на форме есть picturebox. И есть sql server база, в ней таблица с полем Image. Как добавить картинку из picturebox в...

Вставка картинки в таблицу sql server 2008
Здравствуйте. Меня интересует, как можно вставить изображение в столбец таблицы БД sql server 2008. Там есть тип для столбца image, но...

Добавление данных SQL Server
Доброго времени, совсем запарился с добавлением данных в таблицу с помощью клиентского приложения на C# в БД на SQL SERVER. Ниже прикрепил...

Добавление dbf файлов в SQL Server
Здравствуйте! У меня есть dbf-файлы(таблицы) мне нужно добавить их в базу данных SQL Server 2008 r2, они там будут в виде таблиц с которыми...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru