Foros del Web » Programando para Internet » ASPX (.net) »

Realizar consulta a bd. sin utilizar dataset

Estas en el tema de Realizar consulta a bd. sin utilizar dataset en el foro de ASPX (.net) en Foros del Web. Hola, He aprendido el modo de realizar consultas a bd. guardando el resultado en un dataset, y ahora me pregunto cómo se realizaría sin el ...
  #1 (permalink)  
Antiguo 20/04/2007, 09:29
 
Fecha de Ingreso: abril-2007
Mensajes: 160
Antigüedad: 17 años, 8 meses
Puntos: 1
Realizar consulta a bd. sin utilizar dataset

Hola,

He aprendido el modo de realizar consultas a bd. guardando el resultado en un dataset, y ahora me pregunto cómo se realizaría sin el mismo (guardando el resultado en un array, si van a ser sólo unos pocos valores de una misma fila).

Es decir, ahora mismo hago:

SQL= <Mi sentencia sql>
conexion= <mi cadena de conexión>
adaptador = New OleDbDataAdapter(SQL, conexion)
adaptador.Fill(MiDataSet, "MiTabla")


Así, me imagino (y corregidme si me equivoco), que se ganará rapidez, al no utilizar un objeto "pesado" como el dataset.

Saludos
  #2 (permalink)  
Antiguo 20/04/2007, 12:25
 
Fecha de Ingreso: agosto-2006
Ubicación: en lima peru
Mensajes: 184
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Realizar consulta a bd. sin utilizar dataset

USA EL OBJETO SQLDATASOURCE, AQUI TE ENVIO UN EJEMPLO



SqlDataSource1 = New SqlDataSource("Data Source=.\sqlexpress;Initial Catalog=Northwind;Integrated Security=True", "SELECT EmployeeID, LastName, FirstName FROM employees")

Private Sub EnlazarDatos()
GridView1.DataSource = SqlDataSource1
GridView1.DataBind()
End Sub


SI NO QUIERES TRABAJAR CON DATASETS ENTONCES TRABAJA DE FORMA CONECTADA CON OBJETOS DATAREADER

cmd.CommandText = _
"Select CategoryID,CategoryName From Categories"
Dim drd As SqlDataReader = cmd.ExecuteReader

If drd.HasRows Then
Response.Write(drd.GetSqlInt32(0).Value)
End If
  #3 (permalink)  
Antiguo 21/04/2007, 10:03
 
Fecha de Ingreso: julio-2006
Mensajes: 24
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Realizar consulta a bd. sin utilizar dataset

Una forma interesante es traer los datos de la base de datos, leerlos en un data reader y pasarlo a colecciones que son como tablas de la base de datos pero en la memoria, yo lo hago de la siguiente forma y utilizando microsof aplication data blocks, por ejemplo con lam primera linea siguiente ejecutas un procedimiento almacenado, cargas los datos en el data reader y luego los pasas a la coleccion, este manejo de las colecciones tienes que investigarlas bien pero es muy util

dr = SqlHelper.ExecuteReader(Aplicacion.Conexion.Connec tionString, CommandType.StoredProcedure, sql.Text, sql.Parameters);
while (dr.Read())
{
ClaseA objClaseA = new ClaseA();

objClaseA.IdPropiedad1 = dr.GetInt32(0);
objClaseA.Nombre = dr.GetString(1);

base.AddItem(objClase.IdPropiedad1.ToString(), objAbono);
}

como las colecciones se les puede crear un indice o llave como e una tabla en la ultima linea lo que hago es decirle a la coleccion que me agregue el dato a la colleccion y le mando tambien el nombre del campo que es llave,
al parecer da mucha vuelta, traer datos de la BD y lugo pasarlos a memoria pero me ha dado una gran funcionalidad y rendimiento.
Ojala te sirva de algo esta idea...
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 02:54.