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 29-10-2003
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 22
@-Soft Va por buen camino
Funcion o Procedure

hola


como puedo realizar una funcion o procedure para crear un numero de secuencia para los recibos, facturas o no de cheques etc.

necesito que me expliquen con un pequeño ejemplo, ya que no soy muy bueno trabajando con los procedures o funtions.


ademas necesito saber como invocar este procedure o function desde cualquier parte del programa.

thanks
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #2  
Antiguo 29-10-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Bueno, antetodo deberías de decir que motor de bases de datos utilizas ya que, hay miles de formas de hacerlo

Una que te puede valer para cualquier motor, puede ser lanzar una consulta SQL

Código:
function DameNumero : integer;
begin
  Query.Close;
  Query.SQL.Clear;
  Query.SQL.Add('select max(CampoClave) + 1');
  Query.SQL.Add('from MiTabla');
  Query.Open;
  Result := Query.Fields[0];
Nota: He obviado algún detallito como el control de errores, que revuelva la consulta algún valor,.....

Si tu SGBD admite procedimientos almacenados, puedes hacerlo mediante ellos
Si tu SGBD admite campos autoincrementales, puedes hacerlo mediante ellos
.........

No se, tu decides
Responder Con Cita
  #3  
Antiguo 29-10-2003
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
A lo que bien dice el amigo cadetill quisiera añadir que en el primer método habrá que bloquear la tabla antes de realizar la consulta y desbloquearla apenas se inserte el nuevo registro. De lo contrario dos clientes que accedan simultáneamente podrán confundirse y asignar el mismo código.

Por este tipo de detalles yo pienso que lo mejor es lo de los campos autoincrementales ya que el motor se encargará de cualquier detalle que se nos escape.

// Saludos
Responder Con Cita
  #4  
Antiguo 01-11-2003
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 22
@-Soft Va por buen camino
hola

el motor de base de datos es Paradox, ya que es una aplicacion sencilla.

no he tenido buena referencia con respecto a los campos autoincremetables y me dijeron que no eran recomendables.

el objetivo de utilizar procedures o function es para optimizar la programacion y asi evitar el estar escribiendo el mismo codigo por doquier para saber si el registro no ha sido ya tomado debido a que el sistema que estoy desarrollando es en ambiente multiusuario.

ahora, si ustedes tienen una mejor propuesto soy todo ojos para leerla.

Saludos.
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
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


La franja horaria es GMT +2. Ahora son las 20:43:09.


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