Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

From Byte() to Byte

331
11 февраля 2008 года
alexburzak
335 / / 23.04.2006
Как конвертировать из Dim myName As Byte()
В Dim myName As Byte
?
5
11 февраля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: alexburzak
Как конвертировать из Dim myName As Byte()
В Dim myName As Byte
?


Никак. Массив скастовать байтом нельзя.
Правда, можно получить укзатель на первый элемент массива, но это уже unsafe код.

331
11 февраля 2008 года
alexburzak
335 / / 23.04.2006
Да, спасибо за ответ.
Написал и сам понял, что сморозил глупость :-)
На самом деле я не правильно поставил вопрос.
Новый вариант:
-------------------------
Есть поле в базе данных(mssql) - Varbinary 20
Есть переменная Dim myName As Byte()
Что мне нужно что бы засунуть эту переменную в базу данных?
Какой тип конвертации?
5
11 февраля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: alexburzak
Что мне нужно что бы засунуть эту переменную в базу данных?


Вы видимо создаете DbCommand или SqlCommand.
Допустим на сервере уже есть хранимая процедура

 
Код:
ALTER PROCEDURE SetMyName
(
    @myName varbinary(20)
)
AS
    UPDATE MyNameTable .....
Код:
byte[] myName = new byte[] { 1, 2, 3, 4 };

// создание команды
SqlCommand cmd = new SqlCommand();
cmd.Connection = connection;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SetMyName";

// создание параметра
SqlParameter param_myName = new SqlParameter();
param_myName.Name = "@myName"
param_myName.DbType = SqlDbType.VarBinary;
param_myName.Size = 20;
param_myName.Value = myName;

cmd.Parameters.Add(param);
Далее команду на выполнение.

Нужно учитывать, что ADO.NET умеет работать с байт-массивами размером до 8000.
331
12 февраля 2008 года
alexburzak
335 / / 23.04.2006
Спасибо за ответ.
Но в моем случаи не подходит, так как используется не процедура на стороне сервера, а sql – стринг на стороне пользователя(досталась в наследство).
Вообщем сделал так все перегнал в стринг (универсальный формат) в базу данных а когда достаю, переганяю обратно в байты… Изврат конечно, но лишний раз показывает что проще писать процедуры на стороне сервера.
Еще раз тзенкс.
:-)
5
13 февраля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: alexburzak

Вообщем сделал так все перегнал в стринг (универсальный формат) в базу данных а когда достаю, переганяю обратно в байты…
:-)


Тоже не проблема.

Создаем параметрический запрос и пихаем его в cmd.CommandText:

 
Код:
INSERT INTO myName_Table (myName)
VALUES @myName

Тип команды ставим CommandType.Text.

Параметр команды остается прежним.
331
13 февраля 2008 года
alexburzak
335 / / 23.04.2006
Понял, спасибо. Как всегда если знаешь как то не проблемма... :-)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог