Programación General > C++ Builder
Recorrer Un Datasource
Ithilien:
Hola,
acabo de hacer una consulta SQL sobre un TQuery al que tengo asociado un DataSource. Mi pregunta es si se peude realizar un acceso indiexado a cada uno de los componentes obtenidos en la consulta y que están en el DataSource. Si es así, cómo podría hacer una asignación de un componente i a un elemento?? Existe la manera de hacerlo?
Estoy tratando de hacer, por ejemplo ( muy sencillo ):
SELECT * FROM usuario ( en un TQuery)
y ahora hago,
for ( int i = 0 ; i < DataSource->DataSet->RecordCount - 1 ; ++i )
miusuario = DataSet;
Esa es la idea que tengo.
Muchas gracias
wako13:
Puedes probar con los campos persistentes... sobre el TQuery le das click con el derecho y add all fields.. te van a aparecer todos los campos que trae la consulta y pues se me ocurre q' los puedes accesar de la siguiente forma:
--- Código: Text ---while(!TQuery->Eof){ Miusuario = TQueryCAMPOPERSISTENTE->Value; }
Espero haberte ayudado...
Saludos Cordiales :hola:
Ithilien:
No entiendo muy bien lo que quieres decir.
Vuelvo a repetir, tengo 2 problemas:
1.- Recorrer el objeto DataSource
2.- A qué tipo de objeto le asigno ese elemento seleccionado en el recorrido.
He probado lo que me dices, pero no se muy bien como hacerlo :blink:
Gracias por contestar de todas formas. A ver si alguien me echa otro cablecillo.
Saludos!
Linspire:
Pues por mi parte no entiendo muy bien el problema, quizá puedas explicarte un poco mejor y pueda ayudarte en algo. Y con respecto a recorrer un DataSource, yo hice algo semejante hace poco, recorría los resultados de una consulta de la siguiente forma:
--- Código: Text --- void __fastcall TForm1::traer(String tobjetivo, String g, String grueso, String inv){ int i,j, piezas, k=0; String dato,x; AnsiString sql="", campo; for(i=1;i<=5;i++) { for(j=1;j<=7;j++) { k++; x=k; campo=g+x; sql="SELECT "+campo+" FROM '"+tobjetivo+"'"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->Open(); dato=Query1->FieldByName(campo)->AsInteger; StringGrid1->Cells[j][i]=dato; sql=""; Query1->Close(); } } Label1->Caption="Mostrando grueso "+grueso+" de Inventario\nde "+inv; }
Quizá esto pueda servirte de alguna forma. :whistling:
Buena suerte. :D
Ithilien:
Hola,
creo que lo que yo quiero hacer es algo parecido a lo que has escrito, pero quizás pueda explicarme mejor:
Yo tengo una tabla de personas, y esas personas tienen un campo para la coordenada X y otro para la Y, indicando la posición en algún sitio. Entonces, me interesa plotear puntos en la pantalla en función de esas coordenadas. Ese es mi problema.
Además, adicionalmente quiero saber si por ejemplo DATO en tu ejemplo podía ser una estructura que recogiera todos los campos de un registro, no solo un string. No sé si ahora me explico algo mejor...
Gracias!!!
Navegación
[#] Página Siguiente
Ir a la versión completa