Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-10-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Campo Automático

Mi duda creo que es muy sencilla... quiero que un campo se complete automáticamente, es decir teniendo esta tabla

Id_producto nombre descripcion id_doc
1 cartera bla bla PRO1

Id_Producto es autonumerico, y quiero que cuando se inserte un producto con su nombre y descripcion el campo id_doc se rellene automáticamente de la siguiente manera : Literal + Id_Producto
en este caso el literal es PRO.

Se que se debería hacer con un trigger en la BD pero no se hacerlo (Trabajo con MySQL) asi que me gustaría saber hacerlo con Delphi. ¿en que evento de la tabla o tfield iría el seteo del campo???

--- como veis sigo siendo novato----
Responder Con Cita
  #2  
Antiguo 14-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En delphi en el evento before Post, pero teniendo en cuenta que esté en modo inserción (para que solo se asigne una vez al crearse el registro, en las posteriores ediciones, que no se modifique)

Código Delphi [-]
if tabla.state = dsInsert then
   tablaId_doc.asstring := 'PROC'+ inttostr(idproducto);

Como bien dices, lo correcto sería en un trigger, el idproducto sería un generador y en el trigger sería before_Insert.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 14-10-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
eso ya lo había hecho y no funciona, el problema esta en que el idproducto es autoincremental, y no se le asigna número hasta después del post. Tambien lo he probado en el afterpost pero tengo que hacer un edit para meter el dato y después un post y esto generaría un bucle infinito Si mi dices como hacer un triger en MySQL lo intento de momento lo tengo solucionado lanzando un query con update del campo.... pero me gustaría dejarlo más fino....
Responder Con Cita
  #4  
Antiguo 14-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
No sé los componentes que usas ¿zeos? pero todos suelen tener una propiedad que dice cuando generarr el autoincremento, las opciones suelen ser usServer, usPost,usNewRecord, poniendolo en usnewRecord ya tienes disponible el autoincremento antes de guardar.

A ver si alguien puesto en MySql te echa un cable.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 16-10-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Perdón por no haber contestado antes, he estado liado con otros temas . No utilizo componentes Zeos, utilizo ADO->MyODBC->MySQL. Y en los componentes ADO no tienen la propiedad que me comentas, lo único que he visto que se parezca es una propiedad en los Tfield que genero a partir del TADOtable que se llama AutoGenerateValue con tres posibles valores: arNone, arDefault, arAutoInc pero con eso no le dices que te genere el autoincremento antes o en el momento o posterior a la inserción de un registro... no se pensaba que esto era más fácil ....
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cajero Automatico jcarteagaf Humor 6 01-08-2008 09:18:19
campo de tabla automatico anubis Tablas planas 3 25-06-2007 08:03:09
Backup automatico hach Varios 3 14-04-2007 19:26:56
Cajero automático Sotrono Humor 0 02-06-2006 04:35:53
campo automatico en interbase pharaonhx Firebird e Interbase 6 14-01-2005 04:03:11


La franja horaria es GMT +2. Ahora son las 02:02:29.


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
Copyright 1996-2007 Club Delphi