Ayuda con DataSet y DataTable

18/04/2008 - 00:50 por edcha | Informe spam
soy nuevo en .Net y estoy aprendiendo en C# y necesito que me ayuden
con lo siguiente,
desde luego les agradezco de antemano la ayuda.

Cuando uno se conecta a un motor de bases de datos como SQL Server
y solo quiere extraer ciertas columnas de una tabla uno usa lo
siguiente.

SELECT productid, nomprod, precio FROM product WHERE productid = 1

Lo anterior extrae de la tabla "product" las columnas "productid,
nomprod, precio" que en la columna "productid = 1"


Estoy cargando los datos en el DataSet de un archivo .xml
Ahora bien tengo entendido que un dataset no es un motor de bases de
datos o una base de datos
por eso, el asunto es, ¿ como hago una consulta como la anterior ? que
solo me devuelva ciertas columnas
si no se puede ¿ entonces como se pueden hacer las consultas SELECT en
un Datase o DataTable?

Gracias.

Preguntas similare

Leer las respuestas

#1 Paulino Padial López
18/04/2008 - 22:12 | Informe spam
Asi groso modo:

Un dataset te permite definir en memoria tu base de datos para poder cargar
los datos de la " de verdad " y mantenerlos y trabajar con ellos en tu
aplicativo, manteniendo cosas tan importantes como restricciones,
integridad...

Asi pues un dataset es como un contenedor de objetos, una tabla por ejemplo
es un DataTable y es la representacion de una tabla de base de datos, tienes
tambien los Adaptadores que son los encargados de hacer las operaciones
entre la base de datos real y tu dataset.

Notar que te da la potencia de tener un dataset por ejemplo, que defina una
completa base de datos que no sea un sql server 2005 o un oracle ni nada, si
no un fichero XML, ya que ADO.NET te abstrae de la base de datos final
creando el su propio esquema de datos =)

Checkea esta direccion donde lo explica todo con rigor =)
http://msdn2.microsoft.com/es-es/library/ss7fbaez(VS.80).aspx
"edcha" escribió en el mensaje de noticias
news:
soy nuevo en .Net y estoy aprendiendo en C# y necesito que me ayuden
con lo siguiente,
desde luego les agradezco de antemano la ayuda.

Cuando uno se conecta a un motor de bases de datos como SQL Server
y solo quiere extraer ciertas columnas de una tabla uno usa lo
siguiente.

SELECT productid, nomprod, precio FROM product WHERE productid = 1

Lo anterior extrae de la tabla "product" las columnas "productid,
nomprod, precio" que en la columna "productid = 1"


Estoy cargando los datos en el DataSet de un archivo .xml
Ahora bien tengo entendido que un dataset no es un motor de bases de
datos o una base de datos
por eso, el asunto es, ¿ como hago una consulta como la anterior ? que
solo me devuelva ciertas columnas
si no se puede ¿ entonces como se pueden hacer las consultas SELECT en
un Datase o DataTable?

Gracias.
Respuesta Responder a este mensaje
#2 edcha
20/04/2008 - 21:48 | Informe spam
Gracias a ambos por responder.

solo un asunto mas.

siendo que no me estoy conectando a un sql server 2005 o un oracle ni
nada como esto

sino que en memoria se podría decir que tengo la base de datos (solo
para decirlo de alguna manera)
ya que estoy cargando los datos de un archivo xml

entonces como hago para que me devuelva solo las columnas que quiero y
presentarlas en un DataGridWiew
como lo que quiero según la siguiente sentencia sql


SELECT productid, nomprod, precio FROM product WHERE productid = 1


Gracias
Respuesta Responder a este mensaje
#3 Paulino Padial López
20/04/2008 - 23:00 | Informe spam
Ummm con dos formas
tu le pones el datagridview como datasource el dataset y en tiempo de diseño
mapeas los campos que quieras de la "tabla".
Eso te mostraria en el datagridview todos, si ahora quieres filtrar por el
productid 1, usas el metodo Filter
Filter( "WHERE productid = 1" );


saludos cordiales,
"edcha" escribió en el mensaje de noticias
news:
Gracias a ambos por responder.

solo un asunto mas.

siendo que no me estoy conectando a un sql server 2005 o un oracle ni
nada como esto

sino que en memoria se podría decir que tengo la base de datos (solo
para decirlo de alguna manera)
ya que estoy cargando los datos de un archivo xml

entonces como hago para que me devuelva solo las columnas que quiero y
presentarlas en un DataGridWiew
como lo que quiero según la siguiente sentencia sql


SELECT productid, nomprod, precio FROM product WHERE productid = 1


Gracias
Respuesta Responder a este mensaje
#4 edcha
21/04/2008 - 16:12 | Informe spam
gracias Paulino por la ayuda.

Solo un ultimo asunto mas.

¿como se mapea? ya que tu me dices

"tu le pones el datagridview como datasource el dataset y en tiempo de diseño
mapeas los campos que quieras de la "tabla"."




Podrias darme un ejemplo.


Gracias por ayudarme ya que asi uno aprende
Respuesta Responder a este mensaje
#5 Sashka
21/04/2008 - 16:44 | Informe spam
Veamos...
Si tienes un DataTbale con 10 campos (entre ellos Nombre y Apellidos) y sólo
quieres presentar esos 2, haces algo como esto (dgv es el DataGridView):

this.dgv.AutoGenerateColumns = false;

DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
col.DataPropertyName = "Nombre";
col.Name = "Nombre";
col.HeaderText = "Nombre";

this.dgv.Columns.Add(col);

col = new DataGridViewTextBoxColumn();
col.DataPropertyName = "Apellidos";
col.Name = "Apellidos";
col.HeaderText = "Apellidos";

this.dgv.Columns.Add(col);

this.dgv.DataSource = MiDataTable;

Sashka

"edcha" escribió en el mensaje
news:
gracias Paulino por la ayuda.

Solo un ultimo asunto mas.

¿como se mapea? ya que tu me dices

"tu le pones el datagridview como datasource el dataset y en tiempo de
diseño
mapeas los campos que quieras de la "tabla"."




Podrias darme un ejemplo.


Gracias por ayudarme ya que asi uno aprende
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida