SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: javKam en Miércoles 11 de Febrero de 2009, 19:50

Título: Recuperar un campo con caracteres especiales
Publicado por: javKam en Miércoles 11 de Febrero de 2009, 19:50
Hola Amigos...


Tengo un problema al recuperar un campo de una tabla con caracteres especiales, la base de datos que utilizo es sql server ... el campo es de tipo varchar y tiene la siguiente cadena:

Citar
(Qgd=(AEY2J
pero cuando recupero la info de este campo, esta sale con un "" extra
(Qgd=\(AEY2J

intente usar cadenas literales o verbatim pero el DataRow el cual contiene la informacion recuperada ya esta con "\", realmente apreciaria mucho la ayuda

codigo ejemplo:
Código: C#
  1.  
  2. string mySelectQuery = "SELECT TOP 1 * FROM tabla"; // Consulta q recupera un elemento
  3. //guardo la fila que devuelve la consulta
  4. DataRow drData = SqlHelper.ExecuteDataset(JUtil.CONN_STRING, CommandType.Text, mySelectQuery).Tables[0].Rows[0];
  5.  // guardo el campo en un string
  6. string key = drData["key"].ToString();
  7.   
  8.  
Título: Re: Recuperar un campo con caracteres especiales
Publicado por: ProfesorX en Lunes 16 de Febrero de 2009, 18:41
No hay ningun error, lo que sucede es que en C# (y tambien en C/C++) el caracater '' se le conoce como caracter para secuencias de escape, por ejemplo, si tu pones 'n', el compilador lo interpreta como la secuencia de escape para nueva linea y rectorno de carro. Entonces, para diferenciar el ''  de una secuencia de escape, en el depurador o debugger siempre te aparecera como '\', pero si tu lo mandas a imprimir, solo veras una sola '' y no 2.


Saludos :hola:.
Título: Re: Recuperar un campo con caracteres especiales
Publicado por: javKam en Jueves 19 de Febrero de 2009, 20:38
Tienes toda la razon, al momento de ver el contenido de la variable en modo texto, se ve correctamente, gracias por la ayuda....