powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / C# параметр хранимой процедуры типа Image
3 сообщений из 3, страница 1 из 1
C# параметр хранимой процедуры типа Image
    #36490731
navaron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

При попытке получить при запуске формы начальные данные из БД (MS SQL Server 2005) имеющие тип Image:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
string cm = ConfigurationManager.AppSettings["provider"];
            
            DbProviderFactory dpf = DbProviderFactories.GetFactory(ConfigurationManager.AppSettings["provider"]);

            SqlConnection dc = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
            dc.Open();

            SqlCommand dcom = new SqlCommand("Load_Draw_Data_After_Start_Programm", dc);
            dcom.CommandType = CommandType.StoredProcedure;

            SqlParameter param = new SqlParameter();

            param.ParameterName = "@DrawSpace";
            param.SqlDbType = SqlDbType.Image;
            param.Direction = ParameterDirection.Output;
            dcom.Parameters.Add(param);

            param = new SqlParameter();
            param.ParameterName = "@BackGround";
            param.SqlDbType = SqlDbType.Image;
            param.Direction = ParameterDirection.Output;
            dcom.Parameters.Add(param);

            param = new SqlParameter();
            param.ParameterName = "@Result";
            param.SqlDbType = SqlDbType.Int;
            param.Direction = ParameterDirection.Output;
            dcom.Parameters.Add(param);

            dcom.ExecuteNonQuery(); //ЗДЕСЬ ПРОЯВЛЯЕТСЯ ОШИБКА

с помощью хранимой процедуры:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE PROCEDURE [dbo].[Load_Draw_Data_After_Start_Programm] 
	@DrawSpace image = null output,
	@BackGround image = null output,
	@Result int =  0  output
AS
BEGIN
	begin try
		set @DrawSpace = null
		select	@DrawSpace		=	StartDrawSpace,
				@BackGround		=	StartBackGround
		from StartData
		where [User] = user
		set @Result =  0 
	end try
	begin catch
		set @Result = - 1 
	end catch
END

получаю ошибку времени выполнения:
Код: plaintext
1.
Byte[][ 0 ]: Свойство Size имеет недопустимый размер  0 .

Присвоить какой-либо размер я не могу так как во время выполнения не знаю какой объём данных будет получен.

Просто запросом пользоваться не хочется (открытых запросов стараемся избегать, чтобы потом не перекомпилить прорамму).
Где тут ошибка? И можно ли вообще получить параметр Image в приложение через хранимую процедуру?
...
Рейтинг: 0 / 0
C# параметр хранимой процедуры типа Image
    #36491948
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а максимальный размер указать если?
...
Рейтинг: 0 / 0
C# параметр хранимой процедуры типа Image
    #36508322
navaron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал, пишет, что несоответствие заданного размера поля и фактического возвращаемого размера (зар-р-р-р-раза!). Причём процедура чисто на сервере выполняется нормально.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / C# параметр хранимой процедуры типа Image
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]