Forums Últimos mensajes - Powered by IBM
 

CONSUMO DE MEMORIA EN ACCESO A DATOS

24/07/2008 - 18:25 por Chelo | Informe spam
Hola todos.. pues les describo el escenario.. tengo un formulario con
datos de clientes, el formulario consta de texbox y 4 combobox.. los
datos del combobox se carga desde las tablas provincias, cargo,
zonageografica.. utilizando datamember y valuemenber... de esta
manera:

clase accesodatos

public void LLenarForm(string tabla,int16 id,form frm)
{
sql="select * from clientes where idcliente=id"
using(dataAdapter=new DataAdapter(sql,Candenaconexion))
{
using(datable tablon=new datatable())
dataAdapter.Fill(tablon);
datarow dr = tablon.rows[0];
forerch(Control controlin in frm)
{
controlin.text=dr[controlin.tag];
}
}
}

Hasta aca de ptm.. no me consume mas memoria y se muestra los datos
rapidamente sin importar el numero de campos...Ahora para llenar los
combos.. es de esta manera, despues de vacear los datos en el
fromulario

public voind Combon(string tabla,string campos,ComboBox combo)
{
sql="select campos from tabla";
using(dataAdapter=new DataAdapter(sql,Candenaconexion))
{
using(datable tablon=new datatable())
dataAdapter.Fill(tablon);
combo.datasource=tablon;
// combo.selectvalue=5; (esto no funca.. nose porque.. ya
investigare oviamos)
}
}

Es aca cuando consume demaciada memoria y hace lento el proceso(claro
miestras mas combox tenga mas memoria consume..). cuando tengo solo un
combo me consume 41% de memoria y si tengo cuatro consume 85% hasta
90% de memoria y los datos demoran en aparecer en el formulario...

esto en el formulario

accesodatos Acc =new accesodatos()

Acc.LLenarForm("Clietnes", 5 ,this);
Acc.Combon("Provincias","IdProv,Provincias",combobox1);
Acc.Combon("Cargo","IdCar,Cargo",combobox2);
Acc.Combon("xx","Idxx,yy",combobox3);
Acc.Combon("yy","Idy,yy",combobox4);

la pregunta seria:
como puedo cargar los combos sin consumir tanta memoria?... cualquier
ayuda se los agresco bastante...
 

Leer las respuestas

#1 Chelo
24/07/2008 - 22:48 | Informe spam
alguien sabe dl porquie y como solucionarlo? plis..

Preguntas similares