2009-07-07 38 views
5

Soy un programador de algoritmos de bajo nivel, y las bases de datos no son realmente lo mío, así que esta será una pregunta n00b si alguna vez hubo una.¿Cómo se obtiene un valor específico de un objeto System.Data.DataTable?

Estoy ejecutando una consulta SELECT simple a través de DAO de nuestro equipo de desarrollo. El DAO devuelve un objeto System.Data.DataTable que contiene los resultados de la consulta. Todo está funcionando bien hasta ahora.

Problema que me he encontrado ahora:
Necesito extraer un valor de uno de los campos de la primera fila en la DataTable resultante, y no tengo ni idea de por dónde empezar. ¡Microsoft es tan confuso sobre esto! Arrrg!

Cualquier consejo sería apreciado. No proporciono ejemplos de código, porque creo que el contexto no es necesario aquí. Supongo que todos los objetos DataTable funcionan de la misma manera, sin importar cómo ejecute sus consultas, y por lo tanto, cualquier información adicional simplemente haría que esto fuera más confuso para todos.

Respuesta

7

Sólo lo básico ....

yourDataTable.Rows[ndx][column] 

donde ndx es el número de fila (a partir de 0) donde la columna puede ser un objeto DataColumn, un índice (columna n), o el nombre de la column (una cadena)

yourDataTable.Rows[0][0] 
yourDataTable.Rows[0][ColumObject] 
yourDataTable.Rows[0]["ColumnName"] 

para probar null, compare con DBNull.Value;

+1

¡Muchas gracias! Esto es perfecto. – Giffyguy

1

¿Quiere decir table.Rows[0]["MyColumnName"]?

0

Si desea extraer la fila con su ID = 5 (es decir, la clave principal) y obtener su valor para la columna llamada Descripción.

DataRow dr = myDataTable.Rows.Find(5); 
String s = dr["Description"].ToString(); 
Cuestiones relacionadas