![]() |
ultimo registro
que hay ojala y puedan ayudarme con lo siguiente:
tengo una base de datos en mysql en la cual tengo una tabla llamada datos de ahi lo que quiero lograr es traerme el ultimo registro de un campo llamado folio y mostrarlo en un edit este es parte de mi codigo pero no me funciona ojala puedan decirme en que ando mal
|
Hola
No estoy muy seguro en MySql: No entiendo por que llamar a todos los datos (campos) de la tabla si solamente necesitas uno.? Saludos |
Mysql
Amigo Caral, tengo ala mano Mysql 5.0 y la consulta qe pones no funciona....:cool:.
Amigo Edgar siento que atu consulta le falta algo??? Código Delphi [-]'SELECT * FROM datos ORDER BY DESC LIMIT 1'; creo que despues del order by... te falta indicar un campo no crees algo asi como order by folio desc.... Saludos...:cool: |
Hola
Cita:
Saludos |
Consulta correcta:
OJO: Esto no te va a servir si lo quieres ocupar para obtener un folio para una factura o algo similar ya que hay que tomar en cuenta la concurrencia, es decir, el valor obtenido puede no ser el mismo al momento en que vayas a guardarlo finalmente. Si quieres te pongo un ejemplo de como hacerlo (en MySQL) y garantizarte que nunca se te vaya a duplicar un folio. |
amigo AzidRain si me gustaria que pusieras el ejemplo que me mencionas te lo agradeceria
|
he logrado que me muestre el ultimo registro con el siguiente codigo
pero lo que me falta lograr es aumentarle uno a ese ultimo registro por ejemplo si mi ultimo registro es el 26 que en el edit me muestre el 27 para empezar a guardar informacion ahi no se si me explique |
Te pongo un ejemplo de como lograr lo que necesitas.
Requisitos Previos: La tabla donde vas a llevar el control de folios debe ser InnoDB ya que vamos a utilizar transacciones, aqui tienes un script para crearla:
En este ejemplo tenemos 4 campos, puedes usar los que necesites segun los folios que quieras controlar, bastaria con tener solo uno que contenga el ultimo folio de factura utilizado. Vamos a dejar sin uso el campo sucursal y serie fiscal. Asi que inicializamos la tabla creando un registro que contenga los folios con que iniciamos
Ahora si ya podemos empezar a actualizar la tabla segun los folios que vayamos ocupando, yo lo hago mediante la siguiente función que me da el folio que voy a utilizar.
Yo utilizo Zeos para hacer el acceso a datos, pero lo puedes modificar sin problema para usar cualquier componente. Ahora bien, para usar la función hacemos: 1.- Editamos los datos de la factura, documento o lo que sea (excepto el folio, ese lo dejamos al final) 2.- Llamamos a la funcion que nos dará el folio 3.- Guardamos la factura con el folio que obtuvimos. También puedes abrir la transacción antes de llamar a la funcion y cerrarla justo despues de guardar la factura. Efecto: Mientras esta abierta la transacción, cualquier otro usuario no podrá obtener un numero de folio hasta que se cierre o aborte la transacción. De esta forma nunca habrá la posibilidad de que 2 usuarios obtengan el mismo folio. |
excelente respuestas me ayudo bastante muchas gracias
|
La franja horaria es GMT +2. Ahora son las 06:16:54. |
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