Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Utilizacion IBTable

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Utilizacion IBTable Responder citando

Mi duda es que si siempre que hago una consulta desde un formulario puedo utilizar el mismo IBTable y la misma Ibquery para todas las consultas, o para cada una de ellas debo utilizar un IBTable y un IBquery distinto

Si puedo utilizar lo mismo, debo tener alguna precaucion utilizando el IbTable y el Ibquery?
Volver arriba
Mensaje    Asunto: Responder citando

Que tal Aris,

La misma pregunta me hacia cuando empece a trabajar con C++ Builder. (y todo ha sido de manera autodidacta, por eso a veces me fallan algunas cosas Very Happy )

Solo por comentarte por cada form que tenia a veces llegaba a tener hasta 15 o 20 componentes IBQuery o IBTable. La verdadera razón de esto es que no sabia que existian los Modulos de Datos. Especificamente diseñados para albergar este tipo de componentes.

Al principio te puede parecer confuso pero una vez que tomes experiencia les puedes sacar mucho provecho. El punto es que si defines algún proceso de manipluación de datos de una BD que se repite en varios forms lo mejor es crear las funciones necesarias en un módulo de datos y lo unico que tienes que hacer es incluir el .h del módulo, en los forms necesarios.

Con ambos componentes podemos seleccionar, modificar, eliminar información de la BD. El QUE y COMO utilizarlos depende de tus necesidades.

Aprender a definir el objetivo de alguna tarea nos ayuda a elegir el mejor componente.

Saludos y cualquier duda, aquí estamos para ayudarnos.

PD. Te recomiendo que leas un poco la ayuda de los componentes F1
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Gracias Buildero, pero me refiero, cuando quieres utilizar un IBQuery por ejemplo para hacer dos consultas diferentes, sale rentable o es mejor poner dos IBQuerys una para cada consulta
Volver arriba
Mensaje    Asunto: Responder citando

Que tal Aris,

Como te lo comente en el post anterior todo depende de tus necesidades y de la complejidad del problema.

Si solo requieres hacer unas cuantas consultas a la BD, puedes utilizar el mismo IBQuery.

Ej.

Código:

//Obtener el nombre del cliente cuya clave es 2
AnsiString Nombre;
IBQuery->SQL->Clear();
IBQuery->SQL->Add("SELECT CliNombre FROM CLIENTES WHERE IDCLI = 2");
IBQuery->Open();
Nombre = qryIBQuery->FieldByName("CliNombre")->AsString;
IBQuery->Close();


//Obtener el nombre del proveedor cuya clave es 2
AnsiString Nombre;
IBQuery->SQL->Clear();
IBQuery->SQL->Add("SELECT PrvNombre FROM PROVEEDORES WHERE IDPRV = 2");
IBQuery->Open();
NombrePrv = qryIBQuery->FieldByName("PrvNombre")->AsString;
IBQuery->Close();



Como puedes observar se ha utilizado el mismo IBQuery para realizar las dos consultas.

Toma en cuenta que aquí estamos agregando la consulta al "vuelo", pero también la puedes agregar de manera explicita haciendo clic en la propiedad SQL del componente.

Saludos
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Perdon pero me falto declarar corectamente el nombre de las variables

Quedaría asi:

Código:

//Obtener el nombre del cliente cuya clave es 2
AnsiString NombreCli, NombrePrv;
IBQuery->SQL->Clear();
IBQuery->SQL->Add("SELECT CliNombre FROM CLIENTES WHERE IDCLI = 2");
IBQuery->Open();
NombreCli = qryIBQuery->FieldByName("CliNombre")->AsString;
IBQuery->Close();


//Obtener el nombre del proveedor cuya clave es 2
IBQuery->SQL->Clear();
IBQuery->SQL->Add("SELECT PrvNombre FROM PROVEEDORES WHERE IDPRV = 2");
IBQuery->Open();
NombrePrv = qryIBQuery->FieldByName("PrvNombre")->AsString;
IBQuery->Close();


Saludos
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.