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 07-06-2007
Luis Heriberto Luis Heriberto is offline
Registrado
 
Registrado: abr 2006
Ubicación: Guadalajara
Posts: 6
Poder: 0
Luis Heriberto Va por buen camino
Informix y BDE o ADO

Hola mira yo he utilizado los componentes de acceso a datos de BDE y de ADO voy primero con BDE

En efecto en los storeprocedures no reconoce los nombres, solo las posiciones por lo tanto al indicarle al componente TStoreProcedure el nombre del procedimiento almacenado y te vas a la sección de [PARAMS], guíate por el nombre que ahí te marca de igual manera cuando agregues los campos de respuesta, luego en tu código donde les asignes los valores a los parametros puedes utilizar la siguiente instruccion

[Nombre Procedimiento].ParamByName('[nombre de parametro]').[tipo de dato] (AsString, AsInteger, AsDatetime, etc)

Como Informix permite regresar un conjunto de registros, manéjalo como un simple dataset (Instrucciones First, Next, Previous, etc) y para hacer referencia a la columna sigues la siguiente instrucción:

[Nombre Procedimiento].FieldByName('[nombre de columna]').[tipo de dato] (AsString, AsInteger, AsDatetime, etc)

o

[Nombre Procedimiento].Fields[posición de columan (inicia en cero)].[tipo de dato] (AsString, AsInteger, AsDatetime, etc)

Bueno ahora con ADO tiene un componente que se denomina ComandText, dónde tú puedes introducir una instrucción de sql en la propieda comantext:

EXECUTE PROCEDURE [NombreProcedimiento](valor parametro1, valor parametro2)

y posteriormente a la instrucción [nombre componente].exec te puede devolver un dataset que lo manejas como cualquier otro y haces referencia a sus columnas por la posición

[Nombre Procedimiento].Fields[posición de columan (inicia en cero)].[tipo de dato] (AsString, AsInteger, AsDatetime, etc)


Espero que te sirva ..

Saludos
Responder Con Cita
  #2  
Antiguo 07-06-2007
pcjav52 pcjav52 is offline
Registrado
 
Registrado: mar 2007
Posts: 2
Poder: 0
pcjav52 Va por buen camino
Esa es una forma de Crear Procedimientos en informix

drop procedure "a713ap00".upd_historia;

create procedure "a713ap00".upd_historia(aclave INTEGER,
arfc CHAR(13),
aname CHAR(70),
aingdt CHAR(8),
ainidesc INTEGER)
define aConsec integer ;
-- Busca que se haya dado de alta previamente el RFC
select max(fconsec) into aConsec from adhe_historia ;
-- Checa si encontro clave a asignar
if aConsec <= 0 then
let aConsec = 1 ;
else
let aConsec = aConsec + 1 ;
end if
-- Agrega nuevo registro al historial
insert into adhe_historia
(fconsec, fcveadhe, frfc, fnombre, ingdt, finidesc)
values(aconsec, aclave, arfc, aname, aingdt, ainidesc) ;
end procedure



-------------------TRIGGER
drop trigger upd_usuario_his;
create trigger upd_usuario_his
update on usuario referencing
old as adhe new as histo for each row
(
execute procedure upd_usuario_historia(adhe.idUsuario ,adhe.Usuario ,adhe.Pwd)
);
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
Procedimientos almacenados AS/400 Carlos A Ortega DB2 1 12-12-2006 00:32:39
Delphi y los procedimientos almacenados efelix Conexión con bases de datos 10 06-11-2006 14:48:36
Procedimientos almacenados en delphi con storeprocedure pgl Firebird e Interbase 7 05-11-2005 00:58:53
procedimientos almacenados Gabriel2 SQL 1 13-01-2005 14:50:09
Procedimientos almacenados VS UDF rqc Firebird e Interbase 6 18-03-2004 01:29:46


La franja horaria es GMT +2. Ahora son las 21:03:20.


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