![]() |
Consultar Item en Tabla en memoria
Buenas la consulta es como hago para saber si un registro existe en una tabla en memoria, es que no se como hacerle una consulta solo puedo eliminar el registro seleccionandolo con un dbgrid la cual uso este codigo
es para evitar que se repitan registros en la tabla la estructura es quiero evitar que se repitan por el codigo |
Lo mejor, creo yo, es hacer un select del código para ver si te devuelve algo. Si devuelve algo, quiere decir que ya existe y deberás evitar ese insert.
Para esto, los DataSets tiene los métoso onBeforeInsert/onBeforeUpdate También puedes poner algo en la base de datos que no permita duplicados. Puede ser: un PrimaryKey un UniqueKey un Trigger que se encargue de verificarlo. Si de todos modos quieres hacerlo mediante el dataset en memoria: Primero guarda el código de dónde estás. Luego deshabilitas el dataset, para que no se refresquen los datos mientras hacer el recorrido Recorres buscando lo el código Vuelves a posicionarte en el código que guardaste Habilitas el dataset
Nota: Si estás insertando o editando, este método no sirve, porque al moverte deberás hacer un Post o un Cancel |
Y si ejecutas un query que realice un select de búsqueda del código que se introduce y si el recordcount del query te devuelve > 0 es que ya existe, si 0, lo aceptas.
Es una idea. Saludos |
Esataba pensamdo eso pero como le le hago el query
en from que coloco si es una tabla en memoria? |
Es que una cosa que todavía, creo, no ha quedado clara es si de lo que hablas es de un dataset en memoria o de una tabla de la base de datos en memoria, que son cosas distintas.
Según lo que cuentas imagino que es un dataset en memoria con lo que tendrías que usar la opción que te propone el colega duilioisola porque dudo que puedas ejecutar una instrucción SQL en un dataset en memoria. En caso de que fuera una tabla en memoria si que podrías pasarle una instrucción SQL como a otra tabla cualquiera de la base de datos. Saludos |
¿Y no se puede usar algo del tipo lookup?
Ahora no tengo delphi aquí pero me suena que los componentes del tipo "dataset" suelen tener una función lookup con la que se sabe si existe un registro que cumpla una condición. |
La franja horaria es GMT +2. Ahora son las 07:25:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi