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 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
  #2  
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
  #3  
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
Sip por que como muestra nuestro amigo vih lo hace mediante codigo normalito es decir sin hacer uso del trigger, seria bueno mirar como armaste el trigger,
puede que el trigger si tiene un before insert no este guardando el valor de DNI_ALUMNO y por eso se dispara la excepcion
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #4  
Antiguo 24-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 22
(VIH)Lestat Va por buen camino
MIren... Por el momento no estoy utilizando triggers, pero ya se como funcionan... no los utilizo por que el valor que quiero insertar automaticamente o por medio del trigger es el DNI del alumno pero los demas campos los debe jalar de los DBEDits que tenia... pero todos mis DBEDITS ya los elimine y decidi almacenar los datos directamente en la tabla o sea por medio de la propiedad FIELDBYNAME.. si me entienden???? entonces declare la variable como me sugirio el BARTO y almaceno la DNI del alumno que esta en el edit en la variable..... luego esa misma variable la utilizo para almacenar los datos en las diferentes tablas y estoy checando la variable y si almacena el valor del EDIT.. pero me marca error al guardar los datos ....por que despues de utilizar el FIELDBYNAME.asstring:=dni_a; tengo puesto IBtalbe1.post para guardar los datos....

pero tengo una duda.... si estoy utilizando la propiedad de la tabla FIELDBYNAME para introducir los datos ... ya no tengo que utilizar el POST para guardar los cambios???? porque he visto otros ejemplos cuando almacenan los datos con dicha propiedad y no los utilizan pero hay otros que si...entonces no se que hacer????
Responder Con Cita
  #5  
Antiguo 24-06-2005
(VIH)Lestat (VIH)Lestat is offline
Miembro
 
Registrado: abr 2005
Posts: 95
Poder: 22
(VIH)Lestat Va por buen camino
Para ser mas especifico aqui les pongo el codigo que utilizo para almacenar informacion en las tablas antes mencionadas... espero puedan encontrar el error que me aqueja....todo este codigo lo tengo puesto para un boton..

Código:
procedure TIngresar_alum.BitBtn3Click(Sender: TObject);
 
 
 var dni_a:string;
 	apellidopa:string;
 	apellidoma:string;
 	nombre:string;
 	sex:string;
 	dir:string;
 	local:string;
 	ciud:string;
 	tele:string;
 	fecha_ing:variant;
 	statu:string;
 	imagen:variant;
 	edoc:string;
 	carrera:string;
 	sem:integer;
 	cert:integer;
 	fot:integer;
 	act:integer;
 	cur:integer;
 
 
 
 begin
 
  dni_a:=matricula.Text;
  apellidopa:=apaterno.Text;
  apellidoma:=amaterno.Text;
  nombre:=nombres.Text;
  sex:=sexo.Text;
  dir:=direccion.Text;
  local:=localidad.Text;
  ciud:=municipio.Text;
  tele:=telefono.Text;
  edoc:=edocivil.Text;
  carrera:=DBLcarrera.KeyValue;
  fecha_ing:=fecha.Text;
  statu:=status.Text;
 
  sem:=strtoint(semestre.Text);
  cert:=strtoint(certificado.ValueChecked);
  act:=strtoint(acta.ValueChecked);
  fot:=strtoint(fotos.ValueChecked);
  cur:=strtoint(curp.ValueChecked);
 
 
 
 //Se ponen en modo Editar las Tablas para empezar a recibir datos
 
 		ModuloSID.IBTalumnos.Edit;
 		ModuloSID.IBTalumno_carrera.Edit;
 		ModuloSID.IBTsemestre.Edit;
 		ModuloSID.IBTalum_doc.Edit;
 
 
 
 
 
 //Se captura la informacion directamente de las cajas de Texto
 
 
 		ModuloSID.IBTalumnos.FieldByName('dni').AsString:=dni_a;
 		ModuloSID.IBTalumnos.FieldByName('apellido_pa').AsString:=apellidopa;
 		ModuloSID.IBTalumnos.FieldByName('apellido_ma').AsString:=apellidoma;
 		ModuloSID.IBTalumnos.FieldByName('nombre').AsString:=Nombre;
 		ModuloSID.IBTalumnos.FieldByName('sexo').AsString:=Sex;
 		ModuloSID.IBTalumnos.FieldByName('direccion').AsString:=Dir;
 		ModuloSID.IBTalumnos.FieldByName('localidad').AsString:=Local;
 		ModuloSID.IBTalumnos.FieldByName('ciudad').AsString:=ciud;
 		ModuloSID.IBTalumnos.FieldByName('telefono').AsString:=Tele;
 		ModuloSID.IBTalumnos.FieldByName('fecha_ingreso').Value:=fecha_ing;
 		ModuloSID.IBTalumnos.FieldByName('edo_civil').AsString:=edoc;
 		MOduloSID.IBTalumnos.FieldByName('status').AsString:=statu;
 		
 		ModuloSID.IBTalumnos.Post;
 
 		ModuloSID.IBTalumno_carrera.FieldByName('dni_alumno').AsString:=dni_a;
 		ModuloSID.IBTalumno_carrera.FieldByName('dni_carrera').AsString:=carrera;
 		ModuloSID.IBTalumno_carrera.Post;
 
 		ModuloSID.IBTsemestre.FieldByName('dni_alumno').AsString:=dni_a;
 		ModuloSID.IBTsemestre.FieldByName('semestre').AsInteger:=sem;
 		ModuloSID.IBTsemestre.Post;
 
 
 		ModuloSID.IBTalum_doc.FieldByName('dni_alumno').AsString:=dni_a;
 		ModuloSID.IBTalum_doc.FieldByName('certificado').AsInteger:=cert;
 		ModuloSID.IBTalum_doc.FieldByName('acta').AsInteger:=act;
 		ModuloSID.IBTalum_doc.FieldByName('fotos').AsInteger:=fot;
 		ModuloSID.IBTalum_doc.FieldByName('curp').AsInteger:=cur;
 		ModuloSID.IBTalum_doc.Post;
como pueden ver estoy utilizando un Modulo de datos llamado "ModuloSID" en donde almaceno todos los componentes no visuales de mi BD... espero que me puedan ayudar...
ahh y otra cosa tengo declarado variables para almacenar la informacion de los EDITS y luego pasarselas a mis tablas ... estas variables "SI" almacenan la informacion porque ya le hice pruebas y si me la retiene.. el problema esta en las clausulas POST SUPONGO!!!!
Responder Con Cita
  #6  
Antiguo 26-06-2005
ercrizeporta ercrizeporta is offline
Miembro
 
Registrado: jun 2005
Posts: 131
Poder: 21
ercrizeporta Va por buen camino
k pasa tio?a ver si ahora puedo ayudarte yo con esta duda que t surge. creo que el error se puede deber a k para abrir la base de datos para recibir datos lo hagas con "edit". si los datos que vas a introducir son nuevos porque no pruebas a guardar los datos usando el comando "insert" para preparar la base de datos para recibirlos. yo pondría el codigo de insertar en cada tabla debajo de su correspondiente "edit", por el hecho de que cuanto menos tiempo este modificando las tablas supongo será mejor, pero ya esto solo es una idea.
espero haya suerte y sirva esto!!
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 00:59:22.


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