El problema es el siguiente:
Utilizo en mi aplicacion mysql y C#.
Tengo un campo observaciones en la tabla de clientes, cuya declaracion en
mysql
es varchar(2000).
Mediante vistas recojo listados generales, tales como el de todos los
clientes...
Pues bien, cargo un DataSet con los datos de la vista y al mostrar el campo
Observaciones en un textbox me sale el dichoso "System.Byte[]".
Intento solucionarlo o buscar solucion y ninguna me funciona.
Lo mas logico seria algo asi :
Byte[] bytes=(Byte[])(row[5]);
string campo = "";
for(int i = 0;i<bytes.Length;i++)
campo += Convert.ToChar(bytes.GetValue(i)).ToString();
pero tampoco funciona.
En cambio al acceder de la siguiente forma a un campo de bd :
CommandParam = new MySQLCommand("Select param_list from mysql.proc where
(name='" + Procedure + "')",mySqlConn);
Array valor = (Array) CommandParam.ExecuteScalar();
string campo = "";
for(int i = 0;i<valor.Length;i++)
campo += Convert.ToChar(valor.GetValue(i)).ToString();
si me recoge los datos y puedo transformarlo a string
Mi opinion en que el objeto DataRow no es capaz de entender el tipo de dato
que recoge creyendo que es cadena, en cambio el metodo ExecuteScalar ya nos
devuelve el campo segun el tipo de este( Byte[] en este caso)
Agradeceria muchisimo alguna ayuda, pues llevo atrancado un par de dias y no
quiero dejarlo
Un saludo
Javier Martinez Rojo
Leer las respuestas