Aggiornare colonna varbinary

martedì 01 luglio 2014 - 07.54
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Visual Studio 2010  |  SQL Server 2008 R2

ma_di Profilo | Junior Member

Ciao a tutti; ho il seguente problema:
SQL SERVER 2008 EXPRESS ,tabella con una colonna varbinary(128); che tipo di variabile devo passare da VB.NET per aggiornarla?
Ciò che devo fare in sostanza è andare a mettere numeri da 0 a 9 in quel campo; guardando la tabella il valore si presenta nella forma 0xnnnnnnnn
Ho provato in mille modi ma ricevo sempre l'errore "Impossibile eseguire il cast di oggetti di tipo 'System.String' sul tipo 'System.Byte[]"

Ciao e grazie.

Risolto così :

Dim array() As Byte = Nothing
Dim n As Int32 = Nothing

n = Val(row.Item(2)) 'row.item(2) è una colonna della mia datatable, ed è di tipo stringa
array = BitConverter.GetBytes(n)
If BitConverter.IsLittleEndian Then
array = ReverseBytes(array)
End If

Private Function ReverseBytes(inArray() As Byte) As Byte()
Dim temp As Byte
Dim highCtr As Integer = inArray.Length - 1

For ctr As Integer = 0 To highCtr \ 2
temp = inArray(ctr)
inArray(ctr) = inArray(highCtr)
inArray(highCtr) = temp
highCtr -= 1
Next
Return inArray
End Function

Non si finisce mai di imparare... non avevo mai sentito parlare di Little-Endian , Big-endian ed altre amenità ....
Spero sia utile anche ad altri.

Fonte

http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k(SYSTEM.BITCONVERTER);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV3.5%22);k(DevLang-VB)&rd=true
Ciao.

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5