Skip site navigation (1) Skip section navigation (2)

ID (PK) dese código VB6 funcion con returning

From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>, Edwin Quijada <listas_quijada(at)hotmail(dot)com>, systemguards(at)gmail(dot)com, listas(at)yoel(dot)com(dot)ar
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: ID (PK) dese código VB6 funcion con returning
Date: 2007-06-28 04:45:35
Message-ID: 77353.14029.qm@web63708.mail.re1.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Edwin ahora si cumpli con tu deseo

Empecemos a ver la cosa desde el lado de postgresql
 
 Tabla
 CREATE TABLE "public"."deposito" (
   "id_deposito" SERIAL, 
   "deposito" VARCHAR(50), 
   CONSTRAINT "deposito_id_deposito_key"
 UNIQUE("id_deposito")
 ) WITHOUT OIDS;
 
 En la version de postgesql se crea sola
 
 CREATE SEQUENCE "public"."deposito_id_deposito_seq"
     INCREMENT 1  MINVALUE 1
     MAXVALUE 2147483647  START 1
     CACHE 1;
 
Antes lo plantee con una funcion que Alvaro me grito
Noo y con razon, me aporto la solucion nextval,
totalmente valida para cumplir el proposito, pero como
el desafio de Edwin era que tomara el returning desde
VB, aca esta la solucion con la funcion que me retorna
el returning y la llamo desplegando con un msgbox,
despues de esto siendo las 2 am, me voy a tomar
merecido descanso y a dormirme en el trabajo un
poquito. Espero les guste.

CREATE OR REPLACE FUNCTION "public"."fnc_deposito"
(cdeposito varchar) RETURNS integer AS
$body$
declare
cdeposito alias for $1;
ndeposito integer;
BEGIN
insert into deposito (deposito) values($1) returning
id_deposito into ndeposito;
return ndeposito;
end;
$body$
LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT
SECURITY INVOKER;
Puede cambiarse values($1) por select $1 a gusto
del consumidor
Estoy contentisimo con las posibilidades del returning
 
Bueno con esto del lado de postgresql. nos vamos
para Windows, y aca es donde casi toda la lista me
tira pedradas.
 
Creamos el DSN que nos conecte a la base de datos.
 Y ahora es donde las pedradas duelen por que nos
 vamos para visual basic.
 
Primero cree un dataenviroment.dsr
Defini la conexion apuntando al DSN
y con boton izquierdo del mouse inserte un
procedimiento almacenado, entre todos elegi
public.fnc_deposito, usado para este ejemplo
  
En el Form1 creado en el nuevo proyecto con un text
box y un command button,
digite este pequenio codigo.
 
Option Explicit 
Private Sub Command1_Click()
Dim a As Integer
a = Dtadeposito.public_fnc_deposito(Text1.Text)
MsgBox a
End Sub
 
Fijate que no tuve que hacer mucho a base de codigo,
como abrir y cerrar un recordset para insertar ni
nada 
de eso.
O poner un recordset.addnew o un adodatacontrol con
update cancel y todas esas historias.

 
atte 
Gabriel Hermes Colina Zambra 

> Correo Yahoo!
> Espacio para todos tus mensajes, antivirus y
> antispam ¡gratis! 
> Regístrate ya - http://correo.espanol.yahoo.com/ 
> 


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
Regístrate ya - http://correo.espanol.yahoo.com/ 

pgsql-es-ayuda by date

Next:From: Gabriel Hermes Colina ZambraDate: 2007-06-28 04:48:28
Subject: Re: OT , Obtener ID (PK) dese código VB6 con odbc
Previous:From: Jaime CasanovaDate: 2007-06-28 04:45:32
Subject: Re: OT , Obtener ID (PK) dese código VB6 con odbc

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group