如何处理Varbinary的asp.net更新

在ASP.NET表单中,我有一个ListView控件,其中一列是Varbinaty(max)值。

问题是我试图处理这个值。

选择之后:

 SELECT CODICE_ARTICOLO, DESCRIZIONE, UM, FOTO, TIPO_ART FROM TBL_ARTICOLI 

其中FOTOVarbinary(max)

这是UPDATE命令:

 UpdateCommand="UPDATE [TBL_ARTICOLI] SET [DESCRIZIONE] = @DESCRIZIONE, [UM] = @UM, [FOTO] = @FOTO, [TIPO_ART] = @TIPO_ART WHERE [CODICE_ARTICOLO] = @CODICE_ARTICOLO">        

当我尝试更新项目时,我收到以下错误:

* La conversione implicita del tipo di dati da sql_variant varbinary(max)nonèrelicateita。 每个eseguire la查询,utilizzare la funzione CONVERT。*

在英语中,它告诉我它无法从sql_variant转换为varbynary(max) ,但如果我正在使用它的转换:

 [FOTO] = CAST(@FOTO AS VARBINARY(MAX)) 

我收到以下错误:

我dati di tipo string o binary verrebbero troncati。 L’istruzioneèstatainterrotta。

因此字符串或二进制文件将被截断,命令被中断。

我试图用hex字符串转换varbinary但每次我收到最后一个错误。

有人可以帮帮我吗?

谢谢

Piercarlo

尝试使用SqlBinary作为类型? (不确定,也无法访问开发机器atm。)

  

我在这里建议的是,尝试在sql server中创建一个sproc来更新varbinary字段。从asp.net只需将参数传递给sproc,对于varbinary字段只需使用asp.net中的字符串数据类型。我的意思是赋值到字符串数据类型并将其传递给sproc。

现在,sproc将更新表中的必填字段。