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

El resultado de un SELECT a un array

Estas en el tema de El resultado de un SELECT a un array en el foro de .NET en Foros del Web. Saludos, quiero poner el resultado de una consulta "SELECT * FROM tabla WHERE campo = valor" que solo devuelve una fila en un array. yo ...
  #1 (permalink)  
Antiguo 20/01/2009, 15:23
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
El resultado de un SELECT a un array

Saludos, quiero poner el resultado de una consulta "SELECT * FROM tabla WHERE campo = valor" que solo devuelve una fila en un array.

yo hice esta función, pero me da un error:
Código:
public Array ConsultaArray(string StrSql, int numColumnas)
{
    this.DT = this.Consulta(StrSql);
    string[] MyArray = new string[numColumnas];

    for (int c = 0; c <= numColumnas - 1; c++)
    {
        string[] MyArray = { this.DT.Rows[c][0].ToString };
    }

    return MyArray;
}
el error me sale dentro del for, me dice que no puedo volver a declarar la variable MyArray, pero por lo que estuve viendo en C# asi es como se asignan los valores al array, quizas me estoy equivocando.

Espero que puedan ayudarme.
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 21/01/2009, 11:15
 
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid, España
Mensajes: 149
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: El resultado de un SELECT a un array

Por lo que veo, hay dos cosas erróneas ahí:

1) Utilizas el contador c para las columnas y, si no me equivoco lo estás utilizando como índice de las filas (Rows[c]). Así, si, como dices, DT solo tiene una fila, se producirá una IndexOutOfRangeException en la segunda pasada.

2) La asignación que pretendes dentro del for también es incorrecta, porque la parte izquierda está ocupada por una declaración. Lo que tienes que hacer en esa parte es indicar el elemento dentro del array en el que quieres almacenar el contenido de la columna. Así que deberás quitar el string[] MyArray de ahí y poner algo del tipo MyArray[c].

Un saludo
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 00:26.