Manejo de bases de datos

Daniel
27 de Noviembre del 2003
Hola que tal !

Me interesa saber como realizar distintos calculos (*,/,+,-,etc...)entre cada campo de un dbgrid o bien en cada dblabel, claro al estar capturando los datos.Así mismo poner los totales de cada columna debajo del dbgrid.

Por otro lado he tenido problemas al instalar los discos que me genero el installshield al instalarlos en otra pc (que no tiene delphi:error$2109 o 2009)un archivo dll, y el como poder utilizar una base de datos en red(solo un concentrador de 8 puertos,sin servidor,bueno estaria una sola pc de servidor pero con el disco duro compartido) ¿ habria que utilzar algun componente en especial aparte dentro del modulo de datos con las tablas y demas?

Gracias !!!!

Raul Garrido
27 de Noviembre del 2003
Hola Daniel. Para acceder al DBGrid aquí tienes un ejemplo:

TDataSet *pDS; // defines esta variable en el procedimiento
pDS = dbGrid1->DataSource->DataSet; // asocias a dicha varable la fuente de datos del DBGRID
// para cada fila seleccionada del DBGRID
for (int i=0; i < dbGrid1->SelectedRows->Count; i++){
// accedemos a la fila i seleccionada
pDS->GotoBookmark((void *)dbGrid1->SelectedRows->Items[i].c_str());
// accdemos ahora a un campo que ese llama //"sueldo" que se esta mostrando en el grid
// la variable cantidad es ahora un entero
// con el que puedes hacer cualquier operación


cantidad=pDS->FieldByName("Sueldo")->AsInteger;

Espero haberte ayudado algo. De todas formas utiliza la ayuda de Delphi en relación con el dbGrid y en particular con las propiedades MultiSelect, SelectedRows,SelectedCols y Items.

absalon
27 de Noviembre del 2003
HOLA QUE TAL , MI PROBLEMA ES EL SIGUIENTE: tengo dos tablas (socios) con los campos IDE,NOMBRE,APELLIDO ECT;
y la otra es (peliculas) con los campos IDE_PEL , TITULO, DIRECTOR , PROTAGONISTA,EXISTENCIA(CUANTAS HAY DISPONIBLES), PRECIO
BUENO EL PROBLEMA ES ESTE
EN MI VENTANA DE RENTAS DE LADO IZQUIERDO TENGO PUESTO UN PAGECONTROL(WIN32) LA CUAL DIVIDI EN DOS PAGINAS (SOCIOS) Y (CLIENTES) EN AMBAS PUSE UN DBGRID PARA VISUALIZAR CUANDO PRESIONE ALGUNA PESTAÑA LOS DATOS QUE CONTENGAN.
YO LO QUE DESEO ES QUE CUANDO ELIJA LA PESTAÑA SOCIOS Y DE CLIC CON EL PUNTERO DEL RATON SOBRE EL NOMBRE DEL SOCIO ,Y PRESIONE UN BOTON QUE TIENE COMO NOMBRE AGREGAR ME APARESCA EL NOMBRE DEL SOCIO EN UN DBTEXT Y DESPUES PRESIONE LA PESTALLA PELICULAS Y ELIJA CON EL PUNTERO LA PELICULA Y LE DE CLIC AL BOTON AGREGAR ME AGREGE LA PELICULA EN UN DBGRIB QUE PUSE A LA DERECHA PARA IR VISUALISANDO LAS PELICULAS QUE IRE AGREGANDO A LAS RENTAS DEL CLIENTE. EJEM:
__________________________________________________
cliente(DBTEXT)
ARTURO CONTRERAS
__________________________________________________
TITULO CODIGO PRECIO
101 DAMALTAS 252 30
FURIA ROJA 302 25
________________________________________________
ESTO ES LO QUE DEBERA APARECER EN EL TERCER BDGRID Y EN UN EDIT U OTRO COMPONENTE DEBERA SACARME LA SUMA DEL TOTAL DEL COSTO DE LAS RENTAS.
DESEANDO QUE ME AYUDEN EN ESTE TRABAJO QUE ME TIENE LOCO; ME DESPIDO DE USTED DESEANDOLE(S) SUERTE EN CUALQUIER EMPRESA QUE SE PROPONGA.

Juan Carlos Izaguirre
27 de Noviembre del 2003
Tengo poco conocimiento en c++ builder y me gustaria aprender como insertar datos usando los
editores a una tabla de sql y tambien como usar los comboxes quisiera que me mandaran un ejemplo de codigo de cada uno de estos y llamar
procedimientos de sql a builder y es posible para validar errores de campos
Soy estudiante de Ingenieria en sistemas computacionales

Juan Carlos Izaguirre
27 de Noviembre del 2003
Tengo poco conocimiento en c++ builder y me gustaria aprender como insertar datos usando los
editores a una tabla de sql y tambien como usar los comboxes quisiera que me mandaran un ejemplo de codigo de cada uno de estos y llamar
procedimientos de sql a builder y es posible para validar errores de campos
Soy estudiante de Ingenieria en sistemas computacionales

Juan Carlos
27 de Noviembre del 2003
Tengo poco conocimiento en c++ builder y me gustaria aprender como insertar datos usando los
editores a una tabla de sql y tambien como usar los comboxes quisiera que me mandaran un ejemplo de codigo de cada uno de estos y llamar procedimientos de sql a builder y es posible para validar errores de campos

fleitesaliosha
27 de Noviembre del 2003
Hola, acabo de entrar a este foro y lo he hecho pidiendo ayuda, pero quiero darles un poco de mi experiencia en delphi, mira amigo, cuando tu haces un DBgrid, este va a asociado a us DataSource y por ende an Table, este ultimo tiene la posibilidad de agregarle campos como objetos, estos pueden ser calculados, ya que no es conveniente que los campos calculados aparezcan fisicamente en las bases de datos, para esto usas el evento OnCalcFields, alli pones la formula que deseas para ese campo y se va a efectuar siempre que haya un cambio en los datos, veras que es una forma muy rapida y eficaz, espero ayudarte con esto, sino, me escribes y buscamos otra solucion.

absalon
27 de Noviembre del 2003
disculpa, tu contestacion es muy buena pero a la hora de ponerlo en practica quedamos mas o menos igual de como empezamos; te agradeceria de corazon que mostraras un pequeño programa de ejemplo para saber como es el procedimiento o codigo a usar;
agradeciento tu amable atencion, gracias¡¡
posdata: Tengo una dudas en un pequeño programa que estoy haciendo, te las mandare si puedo hoy ya que me urge resolverlo ya que tengo que entregar ese trabajo a la brevedad como mi anteproyecto.}
hasta luego. [email protected]

juampi
27 de Noviembre del 2003
Hola, bueno, sobre como realizar cálculos en los campos de un DBGrid, primero debes hacer click(derecho) en la tabla y poner Add Fields, luego haces click sobre el campo que quieras sumar y te fijas el nombre que tiene (por ejemplo si la tabla se llama cod_tabla, y el campo se llama numero quedará por defecto el nombre de campo cod_tablaNumero.value, le y con esa sintaxis puedes sumar, dividir, etc... con BD.
Sobre lo del installShield, desde el explorador de windows pon ver los archivos ocultos, ya que si no me equivoco ese dll que te falta es oculto y no lo debes haber copiado en los disco por eso es que te falló.

Bueno, espero haberte podido ayudar.

Juan Pablo.