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

Meter varias tablas en el DataSet

Estas en el tema de Meter varias tablas en el DataSet en el foro de .NET en Foros del Web. Tengo un dolor de cabeza por culpa de esto del .net de tres pares de coj.... ¿Para meter varias tablas en un DataSet que tengo ...
  #1 (permalink)  
Antiguo 28/04/2004, 05:00
 
Fecha de Ingreso: abril-2004
Mensajes: 6
Antigüedad: 20 años
Puntos: 0
Meter varias tablas en el DataSet

Tengo un dolor de cabeza por culpa de esto del .net de tres pares de coj....
¿Para meter varias tablas en un DataSet que tengo que hacer un DataAdapter para cada tabla o puedo llenar un DataAdapter con todas las tablas o como hago?
  #2 (permalink)  
Antiguo 28/04/2004, 07:39
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 5 meses
Puntos: 8
En un Dataset puedes almacenar todas las tablas que tu quieras.Y estas pueden ser tablas completas o bien el resultado de una consulta,por ejemplo puedes cargar un DataAdapter con SELECT * FROM USUARIOS y luego llenar el dataset con Sqldataadapter.Fill(odataset, "NombreTabla") o bien cargar el dataadapter con un SELECT MAX(ID) FROM USUARIOS y llenar el mismo dataset con otra tabla distinta con odataadapter.Fill(odataset, "UsuarioMaximo")
Yo la forma que se es un DataAdapter para cada conexión,supongo que habrá otra manera mas eficiente,pero la desconozco,a ver si alguno se anima y nos la cuenta.
Y paciencia,al principio cuesta coger el concepto de dataset y demás pero ya verash lo maravilloso que es cuando le coges el truquito,saludosss
  #3 (permalink)  
Antiguo 28/04/2004, 07:43
Avatar de juagarc4  
Fecha de Ingreso: octubre-2003
Ubicación: En casa
Mensajes: 127
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola, que tal,
No hace falta que crees un DataAdapter parta cada una.
Puedes probar Puedes hacerlo de la siguiente forma:

Por ejemplo, tomando la Base de Datos Northwind que viene con el SQLSERVER
Código:
Dim conString as string= "server=localhost;database=Northwind;uid=sa;pwd=;"
  
Dim sqlStmt  as string= "SELECT * FROM Customers; SELECT * FROM Orders"
     
      SqlDataAdapter sda = new SqlDataAdapter(sqlStmt, conString);
Dim  ds as DataSet = new DataSet();

      sda.Fill(ds);
      ds.Tables[0].TableName = "Customers";
      ds.Tables[1].TableName = "Orders";
Y luego si quieres mostrarlas en Dos datgrids, seria así:
Código:
        Datagrid1.DataMember = "CUSTOMERS"
        Datagrid1.DataSource = ds.Tables("CUSTOMERS")
        Datagrid1.DataBind()
        DataGrid2.DataMember = "ORDERS"
        DataGrid2.DataSource = ds.Tables("ORDERS")
        DataGrid2.DataBind()
__________________
El que pregunta lo que no sabe, es ignorante durante 5 minutos, el que no lo pregunta lo es de por vida (Proverbio Chino)
La tonteria se pone siempre en primera fila, para ser vista. La inteligencia se pones siempre detrás para poder ver. (Alguien lo dijo, seguro)
  #4 (permalink)  
Antiguo 28/04/2004, 08:37
 
Fecha de Ingreso: abril-2004
Mensajes: 6
Antigüedad: 20 años
Puntos: 0
Muchas gracias, es que estoy 3 horas pa sacar cada pijadina de estas y se me pone la cabeza ardiendo ardiendo.
  #5 (permalink)  
Antiguo 28/04/2004, 09:26
Avatar de juagarc4  
Fecha de Ingreso: octubre-2003
Ubicación: En casa
Mensajes: 127
Antigüedad: 20 años, 6 meses
Puntos: 0
Uyyyyy

pa eso estamos, pa ayudar,

Además, no te preocupes, si tu supieras el tiempo que estuve tyo para poder mostrar los datos de una tabla en un DataGrid , jejejeje...

Salu2. :
__________________
El que pregunta lo que no sabe, es ignorante durante 5 minutos, el que no lo pregunta lo es de por vida (Proverbio Chino)
La tonteria se pone siempre en primera fila, para ser vista. La inteligencia se pones siempre detrás para poder ver. (Alguien lo dijo, seguro)
  #6 (permalink)  
Antiguo 28/04/2004, 09:50
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 5 meses
Puntos: 8
Jajajaj di que si Juagarc4 yo creo que todos hemos pasado por eso ^_^ y si ya contará yo el tiempo que pasé hasta descubrí que en asp.net hay que poner Datagrid1.Databinding() ufffff,me queria morir por esa epoca jajaja,anecdotas son que hay se quedan..........suerte!!
  #7 (permalink)  
Antiguo 28/04/2004, 10:16
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 6 meses
Puntos: 0
A todos nos costó el paso de ADO a ADO .NET, pero díganme si extrañan los Recordsets, yo para nada.
  #8 (permalink)  
Antiguo 28/04/2004, 11:05
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 5 meses
Puntos: 8
Yo entre directamente en ADO.NET jejejee,soy un programador newbie ^_^
  #9 (permalink)  
Antiguo 28/04/2004, 13:02
 
Fecha de Ingreso: marzo-2004
Ubicación: La Paz, BCS, Mexico
Mensajes: 41
Antigüedad: 20 años, 2 meses
Puntos: 0
ajaaa !!

Sabia que eras newbie!

son las 1:01 de la tarde... y ya tengo listo el zip de 34 megas de los libros eidos...

cuando llegue a la uni lo subo :D

esten pendientes de lo que posteo jijijiji


:D
  #10 (permalink)  
Antiguo 28/04/2004, 13:38
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 5 meses
Puntos: 8
Jjejeje claro que soy newbie,todos empezamos algun dia :PP,yo he programado años anteriores pero tonterias en Delphi y VB5,nada parecido a lo que hago ahora,que es en serio ^_^
Gracias por los libros,aca son las 21:39 ahora mismo jejejee,mañana cuando me levante antes de ir a hacer las practicas los dejo bajando :D,y tu?Eres newbie?saludoss
  #11 (permalink)  
Antiguo 21/05/2012, 16:19
 
Fecha de Ingreso: agosto-2006
Mensajes: 2
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Meter varias tablas en el DataSet

Cita:
Iniciado por dav_gij Ver Mensaje
Tengo un dolor de cabeza por culpa de esto del .net de tres pares de coj....
¿Para meter varias tablas en un DataSet que tengo que hacer un DataAdapter para cada tabla o puedo llenar un DataAdapter con todas las tablas o como hago?


Hola te mando el método que hice para cargar las tablas que tu quieras de una base de datos, el método tiene un for que recorre un grid que es llenado dinamicamente con los nombres de las tablas y se le agrega una columna de tipo Chek para que aparece el "nombre de la tabla" y despues el "check" en el cual habilitaremos para que el metodo sepa que tablas ya sea una o todas para cargarlas al Date Set:


public void Llenar_DataSet() //Metodo que creara todas las centencias SQL de acuerdo a las tablas que halla seleccionado.
{
lblstatus.Text = "Procesando informacion ...";
//creamos un ciclo para recorrer la tabla y saber que tablas hay que seleccionar
dataSet = new DataSet("BD");

for (int i = 0; i <= dgtablas.RowCount - 1; i++)
{
if (Convert .ToBoolean (dgtablas.Rows[i].Cells[1].Value) == true)
{
//Lista_Querys += "select * from " + dgtablas.Rows[i].Cells[0].Value.ToString() + ",";

Query = "select * from " + dgtablas.Rows[i].Cells[0].Value.ToString();
SqlDataAdapter adaptador = new SqlDataAdapter();
adaptador .TableMappings .Add ("Table",dgtablas.Rows[i].Cells[0].Value.ToString());
conn = new SqlConnection(sCnn);
conn .Open();
SqlCommand command = new SqlCommand(Query,conn);
command.CommandType = CommandType.Text;
adaptador .SelectCommand =command ;
// Fill the DataSet.
adaptador.Fill(dataSet);
conn.Close();
//ya tenemos las tablas seleccionadas en un DatSet
}

}
lblstatus.Text = "Proceso Terminado";
}


espero les sirva, si necesitan el código fuente completo no duden en mandar un correo a [email protected]
  #12 (permalink)  
Antiguo 22/05/2012, 11:57
Avatar de othix  
Fecha de Ingreso: mayo-2011
Ubicación: Guatemala
Mensajes: 92
Antigüedad: 13 años
Puntos: 9
Respuesta: Meter varias tablas en el DataSet

Me parece que tu respuesta llego un poco tarde ya que la pregunta es del 2004

Saludos
__________________
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 20:06.