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 

SetKey(), GotoKey()

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: SetKey(), GotoKey() Responder citando

En el ejemplo de este bucle for utilizo los metodos SetKey() y GotoKey() para buscar un dato en un campo segun un indice compuesto para luego situarme en el registro encontrado y utilizar el contenido del campo que me interese.
Código:
    for(int N = 119 ; N <= 148; N++)
    {
      //Pongo el indice que me interesa como activo
      ModuloDatosControl->TableBotonArticulos->IndexName = "IndexCompGrupoBoton";

      /* Preparo la tabla para pasarle la asignacion de indices por los que buscar
      ya que el indice que he activado es un indice compuesto por dos campos*/
      ModuloDatosControl->TableBotonArticulos->SetKey();

      /* Aqui le paso el parametro para buscar el primer indice */
      ModuloDatosControl->TableBotonArticulos->FieldValues["ComponenteGrupo"] = ((TSpeedButton*)Sender)->ComponentIndex;//atoi(BtnEstado->Caption.c_str());

      /* Aqui le paso el parametro para buscar el segundo indice */
      ModuloDatosControl->TableBotonArticulos->FieldValues["NumeroBoton"] = N - 118;

    /* Cuando ya ha ecnontrado el boton que me interesa pongo la base de datos
    situandome en dicho registro con GotoKey que convierte la busqueda en el
    registro actual*/
      ModuloDatosControl->TableBotonArticulos->GotoKey();

    /* Recorriendo el bucle for pongo el color y el nombre que hay en la base
    de datos al boton articulos  */
    ((TBitBtn*)Components[N])->Caption =
    ModuloDatosControl->TableBotonArticulos->FieldByName("TextoBoton")->AsString;
    ((TBitBtn*)Components[N])->Font->Color =
    ModuloDatosControl->TableBotonArticulos->FieldByName("CodigoColor")->AsInteger;
    }

Pero cual es la forma de acerlo con interbase, ya que esto funciona perfectamente en paradox, y estoy migrando a interbase, pero estos medotos no son miembros de las tablas de interbase.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Podrías especificar que componentes usas ? Si usas BDE lo puedes seguir haciendo igual yo en algunas aplicaciones que he hecho con BDE, he usado el GotoKey sin problemas.

Aun así puedes utilizar un TQuery o consulta parametrizada, es mejor que abrir un TTable y hacer una busqueda por clave, además un Query te funcionará sin problemas uses los componentes que uses para acceso al servidor.

Ciao.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor 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.