Como recuperar un Binary de un base de datos

13/05/2007 - 12:14 por ZiCruz | Informe spam
Despues de conseguir grabar una dato en SQL server (con bastantes
dificultades) ahora soy incapaz de recuperarlo para poder mostrarlo en
pantalla en hexadecimal.

alguien me puede echar una mano??????

lo he intentando de varias meneras pero soy incapaz:
System::Void dgSniffer_RowEnter(System::Object^ sender,
System::Windows::Forms::DataGridViewCellEventArgs^ e) {

DataRow^Fila = DT->Rows[e->RowIndex];

- array<Byte>^ a = ((SqlBinary^)Fila["original"])->Value;


- SqlBinary^ b = ((SqlBinary^)Fila["original"];

- BitArray^ bTipo = gcnew
BitArray(BitConverter::GetBytes((SqlBinary^)Fila["original"]));

- y muchas más que no recuerdo pero soy incapar de poder tratarla

Fira es un DataRow de un DataTable.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
13/05/2007 - 13:28 | Informe spam
Has mirado esto:

http://support.microsoft.com/kb/309158/en-us

Slds - Octavio


"ZiCruz" escribió en el mensaje
news:
Despues de conseguir grabar una dato en SQL server (con bastantes
dificultades) ahora soy incapaz de recuperarlo para poder mostrarlo en
pantalla en hexadecimal.

alguien me puede echar una mano??????

lo he intentando de varias meneras pero soy incapaz:
System::Void dgSniffer_RowEnter(System::Object^ sender,
System::Windows::Forms::DataGridViewCellEventArgs^ e) {

DataRow^Fila = DT->Rows[e->RowIndex];

- array<Byte>^ a = ((SqlBinary^)Fila["original"])->Value;


- SqlBinary^ b = ((SqlBinary^)Fila["original"];

- BitArray^ bTipo = gcnew
BitArray(BitConverter::GetBytes((SqlBinary^)Fila["original"]));

- y muchas más que no recuerdo pero soy incapar de poder tratarla

Fira es un DataRow de un DataTable.
Respuesta Responder a este mensaje
#2 ZiCruz
13/05/2007 - 18:26 | Informe spam
he probado con lo que me has dicho de la siguiente manera, pero no he
conseguido recuperarlo correctamente:

Procedimiento

ALTER PROCEDURE dbo.InsertarOtroNivelDeRed (
@pIdTrama int,
@pFecha datetime,
@pTamañoCap int,
@pOriginal binary(1520),

@pDestinoEth nchar(17),
@pOrigenEth nchar(17),
@pTipo int,

@pTamañoONR int

) AS

BEGIN TRANSACTION;
INSERT INTO Capturas
(idTrama, fecha, tamañoCaptura, original)
VALUES (@pIdTrama, @pFecha, @pTamañoCap, @pOriginal);

.

COMMIT TRANSACTION;

RETURN

Guardo el dato de la siguiente manera:

cSqlInsTCP = gcnew SqlCommand();

cSqlInsTCP->Connection = conexion;
cSqlInsTCP->CommandType = CommandType::StoredProcedure;

// Parámetos de Capturas (Comun en todos los procedimientos)
cSqlInsTCP->Parameters->Add(gcnew
SqlParameter("@pIdTrama", SqlDbType::Int));
cSqlInsTCP->Parameters->Add(gcnew
SqlParameter("@pFecha", SqlDbType::DateTime));
cSqlInsTCP->Parameters->Add(gcnew
SqlParameter("@pTamañoCap", SqlDbType::Int));
cSqlInsTCP->Parameters->Add(gcnew
SqlParameter("@pOriginal", SqlDbType::Binary, 1520));

..

// Relleno de los parámetos de Capturas
cSQL->Parameters["@pIdTrama"]->Value = a_idTrama;
cSQL->Parameters["@pFecha"]->Value = a_fhCaptura;
cSQL->Parameters["@pTamañoCap"]->Value = a_Tamaño;
cSQL->Parameters["@pOriginal"]->Value = SqlBinary(a_tOriginal);


y recupero el valor de la siguiente manera

DataRow^Fila = DT->Rows[e->RowIndex];
int tamaño = (int)Fila["tamañoCaptura"];
array<unsigned char>^original = gcnew array<unsigned char>(1520);

original = (array<unsigned char>^)Fila["original"];

pero no funciona que estoy haciendo mal

"Octavio Hernandez" wrote:

Has mirado esto:

http://support.microsoft.com/kb/309158/en-us

Slds - Octavio


"ZiCruz" escribió en el mensaje
news:
> Despues de conseguir grabar una dato en SQL server (con bastantes
> dificultades) ahora soy incapaz de recuperarlo para poder mostrarlo en
> pantalla en hexadecimal.
>
> alguien me puede echar una mano??????
>
> lo he intentando de varias meneras pero soy incapaz:
> System::Void dgSniffer_RowEnter(System::Object^ sender,
> System::Windows::Forms::DataGridViewCellEventArgs^ e) {
>
> DataRow^Fila = DT->Rows[e->RowIndex];
>
> - array<Byte>^ a = ((SqlBinary^)Fila["original"])->Value;
>
>
> - SqlBinary^ b = ((SqlBinary^)Fila["original"];
>
> - BitArray^ bTipo = gcnew
> BitArray(BitConverter::GetBytes((SqlBinary^)Fila["original"]));
>
> - y muchas más que no recuerdo pero soy incapar de poder tratarla
>
> Fira es un DataRow de un DataTable.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida