Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
mikh
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
1

Как вставить картинку в БД MS Sql Server 2005 с помощью параметра

08.11.2012, 13:05. Просмотров 1416. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите написать запрос/команду как вставить картинку в БД MS Sql Server 2005 с помощью параметра.
Я делаю так с помощью BULK:
C#
1
2
3
4
5
6
string cmdStr = String.Format("update Table1 "
                  + "set MyImage = (select val.* "
                  + "FROM OPENROWSET (BULK '{0}', SINGLE_BLOB) val) "
                  + "where ID='{1}'", this.textBox1.Text, CurrentId);
command.CommandText = cmdStr;
command.ExecuteNonQuery();
this.textBox1.Text - путь к картинке
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2012, 13:05
Ответы с готовыми решениями:

Как работать с БД SQL, не привязнной к MS SQL Server 2005
Ув. программисты. Помогите пожалуйста разобраться. Только начал работать с MS SQL Server 2005, и...

Как правильно подключаться к БД SQL Server 2005
Подскажите пожалуйста как правильно связываться с БД SQL Server 2005 средствами C# ? На моем...

Подключение к SQL server 2005 из vs 2005
Добрый день. Пытаюсь сделать клиент с использованием ado.net для подключение к БД. На виртуальной...

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

Как подключиться к Microsoft SQL Server 2005 с авторизацией через домен
Подскажите пожалуйста как подключится к Microsoft SQL Server 2005 с авторизацией через домен

2
mikh
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
09.11.2012, 13:27  [ТС] 2
Пробую так:
C#
1
2
3
4
5
6
7
8
9
10
byte[] byteArray = new byte[0];
byteArray = File.ReadAllBytes(this.textBox5.Text); //textBox5 - путь к файлу
 
string cmdStr = String.Format("update Table1 "
                     + "set MyImage = @mImage "
                     + "where ID='{0}' ", CurrentId);
command.CommandText = cmdStr;
command.Parameters.Add("@mImage", OleDbType.VarBinary);
command.Parameters["@mImage"].Value = byteArray;
command.ExecuteNonQuery();
выдает ошибку
Must declare scalar variable "@mImage"
0
mikh
6 / 6 / 3
Регистрация: 20.04.2012
Сообщений: 303
12.11.2012, 11:11  [ТС] 3
почему вроде как все правильно а не работает ?

Добавлено через 8 часов 25 минут
Решение:
проблема была в том что я использую OleDb а тут надо в тексте запроса писать не имя параметра а знак "?"
C#
1
2
3
4
5
6
7
8
9
10
11
byte[] byteArray = new byte[0];
byteArray = File.ReadAllBytes(this.textBox5.Text); //textBox5 - путь к файлу
 
string cmdStr = String.Format("update Table1 "
                     + "set MyImage = ? "        // на месте знака "?" будет параметр
                     + "where ID='{0}' ", CurrentId);
command.CommandText = cmdStr;
OleDbParameter param = new OleDbParameter("@mImage", OleDbType.VarBinary);
param.Value = byteArray;
command.Parameters.Add(param);
command.ExecuteNonQuery();
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 11:11

Вставить картинку в SQL Server 2005
Суть проблемы, есть база сотрудников, написаная в SQL Server 2005, но форма, управления и...

Как оптимизировать SQL Server 2005
Здравствуйте. Необходимо оптимизировать базу SQL Server 2005. Молю о любой помощи которая хоть как...

Как запустить SQL SERVER 2005
всем привет, ребят... не знаю что сделать... все нормально - ставится sql но sqlservr.exe выдает...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru