No inserta en sql server 2000

Hola estimado experto te envío mis saludos y respetos.
Mi pregunta es la siguiente :
He realizado una aplicación en PowerBuilder con base de datos en sql server 2000, es una aplicación de control de personal el cual registra por turno tanto sus entradas y sus salidas mediante una clave que tiene cada personal.
El problema es el siguiente cada personal ingresa su clave y le sale un mensaje de bienvenida o salida según el caso, internamente el sistema mediante sentencias insert que lo manejo desde powerbuilder valida o registra el ingreso o salida del personal enviándolo así a diferentes tablas. Existen días en que el registro de cada personal es registrado correctamente en la base de datos, pero también existen días en que el registro de cada personal no se realiza en la base de datos, es decir que no lo registra, ahora cada personal esta registrado por turnos y existen días en que solo el turno tarde por ejemplo esta registrado en la base de datos y el turno mañana que se supone también debe estar registrado no lo esta, he probado el sistema yo mismo pero no le he encontrado error alguno, el problema en si es que hay momentos en que no actualiza la base de datos de sql server 2000, estuve indagando y tengo idea más o menos de lo que pasa, pero quisiera tener tu opinión.
De antemano te agradezco tu respuesta.

2 respuestas

Respuesta
1
El problema lo más seguro es que se te ha de estar escapando algo a ti, mira:
- No es necesario que uses dos tablas, una de salida y una de entrada, puedes usar una misma con un campo de entrada 1, y salida -1, así haces una sumatoria y sabrás si esta adentro o afuera de la empresa...
- Después de cada insert debes dar un commit; para no bloquear la aplicación...
- Puedes crear una datawindow, en la cual llenes los campos del registro ya sea entrada o salida y le des update(), y no usar TU una instrucción sql, el update de la datawindow es más segura y validada...
Regreso a lo mismo, se te esta pasando algo por ahí en el código...
Respuesta
1
¿Tu sistema esta trabajando en red?, ¿Estas trabajando con datawindow?, en el evento retrieveend de cada datawindow inserta este código:
sqlca.autocommit = false
cada vez que deseas actualizar la BD... trabaja de esta manera:
sqlca.autocommit = true
b=dw_1.update()
if b=-1 then
rollback using sqlca;
messagebox("Error","Datos no Guardados")
else
commit using sqlca;
end if
Verifica eso...
Ahora tu problema puede estar en la base de datos... verifica las relaciones...
Si tuvieras más datos técnicos te agradecería que me lo dieras para encontrar alguna posible solución... nos vemos.. suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas