Foros del Web » Programación para mayores de 30 ;) » .NET »

Referencia a objeto no establecida como instancia de un objeto

Estas en el tema de Referencia a objeto no establecida como instancia de un objeto en el foro de .NET en Foros del Web. Buenas, Tengo una clase llamada Alumnos, pues bien, dentro de esta tengo una funcion denominada search, donde le paso un valor de busqueda. Dentro de ...
  #1 (permalink)  
Antiguo 18/08/2005, 03:41
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Referencia a objeto no establecida como instancia de un objeto

Buenas,

Tengo una clase llamada Alumnos, pues bien, dentro de esta tengo una funcion denominada search, donde le paso un valor de busqueda.

Dentro de esta funcion declaro un array del tipo Alumnos, ya que quiero que la funcion me devuelva un array de este tipo con todos los campos, la funcion seria una cosa asi:

public virtual Alumnos[] Search(String where)

int i=0;
Alumnos[] objAlumnos;//declaro el array

Luego hago un select count para dimensionarlo
objAlumnos= new Alumnos[(int)sqlcmd.ExecuteScalar]

Hago el select necesario para que me devuelva los campos, y entonces pongo un bucle while para leer:


while (sqlread.Read())
{
objAlumnos[i].PrDni=sqlread.GetInt32(0);

Y asi para todos los campos de la tabla

i++;
}

Pues bien cuando me entra en la linea del objAlumnos[i].XXX, me da el error:
"Referencia a objeto no establecida como instancia de un objeto"

Alguna idea?¿, pq el array esta bien dimensionado y definido
  #2 (permalink)  
Antiguo 18/08/2005, 09:16
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
No se bien como tengas definida tu clase o tu tipo Alumnos...

y también no se como tengas definido la propiedad o método PrDni

Cita:
while (sqlread.Read())
{
objAlumnos[i].PrDni=sqlread.GetInt32(0); //????

Y asi para todos los campos de la tabla

i++;
}
Hay cosas que no me quedan claras pero si quieres guardar varios elementos creo que es mas limpio y mejor usar una clase con ciertas propiedades y guardar la información despues en un arraylist..

algo así:

Cita:
public class test
{
public int propiedad1;
public int propiedad2;
....
}
...
...
ArrayList arrObj = new ArrayList()
while (sqlread.Read())
{
test t = new test()
t.propiedad1 = sqlread.GetInt32(0);
t.propiedad2 = sqlread.GetInt32(0);
...
arrObj.Add(t)
}
...

Y con ello no es necesario dimensionar un Array..,

Es solo una sugerencia... ya depende mucho de tu estructura..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 19/08/2005, 00:47
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias tio, la verdad que soy novato en esto del visual C#, pero me va de miedo, ahora solo tengo un problemilla :), como hago para poner los valores de mi arraylist a las propiedades?¿, es decir intento hacer:

While(i<Arraylist.Count){

A.PrDni=ArrayList[n].XXXX
}
Pero no me funciona
Alguna idea?¿
GRACIAS

Última edición por kakarot; 19/08/2005 a las 02:12
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:51.