在 ASP.NET 表单中,我有一个 ListView 控件,其中一列是一个Varbinaty(max)
值。
问题是当我尝试处理这个值时。
在选择之后:
SELECT CODICE_ARTICOLO, DESCRIZIONE, UM, FOTO, TIPO_ART FROM TBL_ARTICOLI
FOTO
在哪里Varbinary(max)
。
这是UPDATE
命令:
UpdateCommand="UPDATE [TBL_ARTICOLI] SET [DESCRIZIONE] = @DESCRIZIONE, [UM] = @UM, [FOTO] = @FOTO, [TIPO_ART] = @TIPO_ART WHERE [CODICE_ARTICOLO] = @CODICE_ARTICOLO">
<UpdateParameters>
<asp:Parameter Name="DESCRIZIONE" Type="String" />
<asp:Parameter Name="UM" Type="String" />
<asp:Parameter Name="FOTO" Type="Object" />
<asp:Parameter Name="TIPO_ART" Type="String" />
<asp:Parameter Name="CODICE_ARTICOLO" Type="String" />
</UpdateParameters>
当我尝试更新项目时,出现以下错误:
*La conversione implicita del tipo di dati da sql_variant 一个 varbinary(max) 非同意。Per eseguire la query, utilizzare la funzione CONVERT.*
用英语告诉我它不能从sql_variant
to转换varbynary(max)
,但是如果我使用这样的转换:
[FOTO] = CAST(@FOTO AS VARBINARY(MAX))
我收到以下错误:
I dati di tipo string o binary verrebbero troncati。L'istruzione è stata interrotta。
所以字符串或二进制将被截断命令被中断。
我试图转换varbinary
十六进制字符串,但每次我得到最后一个错误。
有人可以帮助我吗?
谢谢
皮尔卡洛