ASP.NET フォームには、列の 1 つが値である 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 Implicta del Tipo di dati da sql_variant a varbinary(max) non è constita. クエリごとに、関数 CONVERT を使用します。*
sql_variant
英語では、 からに変換できないと言っていますがvarbynary(max)
、そのような変換を使用している場合:
[FOTO] = CAST(@FOTO AS VARBINARY(MAX))
次のエラーが表示されます。
I dati di tipo string o binary verrebbero troncati. L'istruzione è stata interrotta.
そのため、文字列またはバイナリが切り捨てられ、コマンドが中断されました。
16 進文字列を変換しようとしましたvarbinary
が、毎回最後のエラーが発生します。
誰かが私を助けることができますか?
ありがとうございました
ピエルカルロ