Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
Si haces commit en la transaccion lo puedes ver en Interbase
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #2  
Antiguo 23-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Como yo no sé de triggers quizá haga una pregunta muy tonta. ¿Por qué no se puede simplemente hacer:

0. empezar transacción
1. Insertar al alumno
2. Obtener el dni asignado
3. insertar carrera con el dni obtenido
4. insertar semestre con el dni obtenido
5. insertar doc con el dni obtenido
6. terminar transacción

Sé que son varias consultas sql pero cada una de ellas debe ser muy rápida.

// Saludos
Responder Con Cita
  #3  
Antiguo 24-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 22
(VIH)Lestat Va por buen camino
AYUDAAAA!!!!!!

Miren ya quite todos mis DBedits de mi formulario y meti los TEDITs entonces en el edit1 es en donde se encuentra la matricula del alumno y todos mis datos los voy a almacenar de la siguiente manera:

Cita:
IBtable1.fieldbyname('dni').asString:= EDit1.text;
Ibtable2.fieldbyname('dni_alumno').asstring:=Edit1.text;
IBtable3.fieldbyname('dni_alumno').asstring:=edit1.text;
IBtable4.fieldbyname('dni_alumno').asstring:=Edit1.text;
en el boton "guardar" (button1) y lo unico que tengo enlazadoo que supuestamente se guardaria automaticamente son unos DBcombobox que contienen informacion sobre el status del alumno y el estado civil....

Pero me marca error acerca de que el 'FIELD 'DNI_ALUMNO' MUST HAVE A VALUE' ... a que se debe este mensaje?????
sera que no puedo guardar la informacion de un edit en diferentes tablas??? acaso cuando lo guardo en la primera se borra la informacion del EDIT...???

que es lo que pasa??? ayudenme..
Responder Con Cita
  #4  
Antiguo 24-06-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
Cita:
Como yo no sé de triggers quizá haga una pregunta muy tonta
lo que pasa es que personalmente es mejor usar triggers dado que tu puedes condicionar que se disparen cuando se presenten ciertas condiciones especificas se podra hacer con codigo sql y delphi pero para mi es mejor usar el trigger
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #5  
Antiguo 24-06-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
[quote=(VIH)Lestat]
Pero me marca error acerca de que el 'FIELD 'DNI_ALUMNO' MUST HAVE A VALUE' ... a que se debe este mensaje?????QUOTE]

evidentemente es que en el campo DNI_ALUMNO no hay dato que guardar posiblemente sea por lo que stu dices no estoy seguro pero si es por eso por que no guardas el dato que tiene en el edit1.text y lo asignas despues de que haces esto

Código Delphi [-]
 
variable := Edit1.Text;
IBtable1.fieldbyname('dni').asString:= EDit1.text;
Edit1.text := variable;

es una solucion muy mediocre pero creo que funciona..

Cita:
acaso cuando lo guardo en la primera se borra la informacion del EDIT...???
No sabria responder, no me acuerdo
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #6  
Antiguo 24-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 22
(VIH)Lestat Va por buen camino
Pues me sigue marcando el mismo error BARTO..

mira ya probe con esto...

Código:
var dni_a:string;
 		   begin
 				 cni_a:=edit1.text;
 				 IBtable1.fieldbyname.('dni'):=dni_a;
 				 IBtable2.fieldbyname('dni_alumno):=dni_a;
y tampoco funciona me sigue marcando es mismo error...

Probe tambien con lo que me digiste y sigue marcando error...
Responder Con Cita
  #7  
Antiguo 24-06-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
como creaste la tabla dni_alumno es que hay una cosa que debes saber si tienes dos tablas

alumno materia

y en alumno tienes los atributos (*)nombre, (*)apellido, (*)dni, telefono por decir algo

y en materia tienes los atributos (*)nom_materia, (*)cod_materia, (*)dni_alumno

en donde los que tienen (*) son campos obligatorios y si tu le pides a el edit que inserte el dato desde la tabla alumno sacara error siempre por que llenas el campo dni_alumno y los demas campos no los estas llenando siendo ellos obligatorios

Verifica tu teoria de llenar datos en distintas tablas depronto lo que necesitas no es eso
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #8  
Antiguo 24-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por el_barto
sacara error siempre por que llenas el campo dni_alumno y los demas campos no los estas llenando siendo ellos obligatorios
Pero el error claramente muestra que el campo que da problemas es DNI_ALUMNO. Aun cuando existiera un problema con otros campos requeridos por el momento el caso es que por alguna razón no está tomando el dato del Edit correctamente.

// Saludos
Responder Con Cita
  #9  
Antiguo 24-06-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 22
el_barto Va por buen camino
Cita:
Empezado por (VIH)Lestat
Pues me sigue marcando el mismo error BARTO..

mira ya probe con esto...

Código:
var dni_a:string;
		 begin
				 cni_a:=edit1.text;
				 IBtable1.fieldbyname.('dni'):=dni_a;
				 IBtable2.fieldbyname('dni_alumno):=dni_a;
fijate es esto:

lodeclaras asi
Código Delphi [-]
var dni_a:string;
pero lo usas asi
Código Delphi [-]
cni_a:=edit1.text;

El error en este caso se puede producir por esto no??? lo usas como cni_a y lo declaraste dni_a

Cita:
Pero el error claramente muestra que el campo que da problemas es DNI_ALUMNO. Aun cuando existiera un problema con otros campos requeridos por el momento el caso es que por alguna razón no está tomando el dato del Edit correctamente.
Lo digo por que el error muy seguramente se le va a presentar entonces en el trigger que armo desde un principio debio decir que los demas campos o no son obligatorios o se generaran automaticamente, tu que crees Roman??? puedo estar equivocado
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #10  
Antiguo 24-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por el_barto
tu que crees Roman???
En cuanto a lo de dni_a y cni_a que fue un simple error al transcribir aquí el código, de lo contrario estaría obteniendo un error de "Undeclared identifier".

En cuanto a lo segundo, quizá justamente el trigger le esté metiendo ruido. Tal como lo plantea ahora pareciera no requerir el trigger pero quizá lo sigue teniendo activo y puede ser que no esté bien definido y sea el que esté metiendo valores en blanco.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:06:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi