Añadir registro en tabla firebird si la tabla está vacia
Hola a todos después de tiempo sin postear, (es que el verano me tiene frito y dispongo de poco tiempo).
Tengo una tabla en firebird 1.5 a la que quiero añadir registros buscando el último valor de la misma con una sql, en vez de last, etc. cuando la tabla tiene algún registro introducido, funciona perfectamente, pero si la tabla está vacía y es el primer registro no encuentro la forma de convertir el valor alfanumerico de la consulta (Max_IdMAX.text) a entero y me da error. Código del botón:
la consulta Max_Id:
Gracias por leerme. Calurosos saludos Josep |
Por otra parte, no veo para qué lees el campo como texto y luego lo conviertes a entero. Mejor leelo directamente como entero. // Saludos |
Gracias Roman.
Me dice que empty no le gusta (undeclared identifier) Saludos Josep |
Perdón, es IsEmpty.
// Saludos |
Gracias de nuevo
Con IsEmpty si compila, pero se salta la linea de asignar valor 0 a id
Saludos Josep |
Cita:
|
Cita:
// Saludos |
Otra opción, si tu motor de datos lo soporta es directamente en la consulta:
Así, te evitas la comparación en el código delphi. // Saludos |
Cita:
Saludos |
Cita:
Lo que me dices en el otro post del motor, uso FB 1.5 Gracias Josep |
No, pues esto ya está muy raro. ¿Seguro que la tabla está vacía? En todo caso, prueba la consulta con coalesce.
// Saludos |
Con el código así id coge el valor 0 de entrada y 1 al pasar por la linea de asignación. Lo que me pasa ahora es que cuando entro en la linea del append me dice not in edit mode Ahora si que estoy ligeramente perdido. Saludos |
Pero si te olvidas del debug y corres tu programa... ¿funciona o no funciona?
|
No corre al dar click en alta, me sale el mensaje de not in edit mode
Josep |
|
Gracias Antonio.
Con este llego a los 300 jejeje una proeza para mi. Volviendo al tema, no es la solución ya que Max_Id es una sql sin posibilidad de editar, el error me lo da en el append de la tabla. Saludos Josep |
Hola josep.
Si no entendí mál y lo que estas buscando es obtener el próximo ID, creo que podrías hacer:
Saludos. |
Solucionado.
El problema del NOT IN EDIT MODE, no estaba en las lineas puestas, estaba en las lineas siguientes:
|
¿Y? ¿Ya se resolvió tu problema original?
// Saludos |
Buenos dias.
Si Román, se soluciono el problema inicial ya que al abrir la tabla en vacio, el id valía 0, evidentemente tenías razón con lo de la conversión de entero a texto y viceversa. Al final el código quedó así:
Y gracias a este error di con el otro que no me permitía añadir el registro por el tema del nombre de campo incorrecto. Gracias a todos. Saludos desde la Costa Brava (Girona) Josep |
La franja horaria es GMT +2. Ahora son las 11:39:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi