From: | Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com> |
---|---|
To: | Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: PROBLEMA DE INSERT EN ESQUEMA |
Date: | 2008-03-20 06:14:45 |
Message-ID: | 675103.55539.qm@web63706.mail.re1.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
escribió:
> Maestros, tengo un problemilla y me estoy perdiendo,
> la cosa es que cree una tabla "personas" en un
> esquema llamado "analisis" y quiero insertar desde
> VB con el comando
> cnn.execute "INSERT INTO analisis.personas
> (documento, tipodoc, nombre, direccion, sexo, otros)
> VALUES ('99999999', 1, 'pirulo', 'B
> MACARONE','M','otro dato');"
>
> la cosa es que VB6 me da el error
> " no hay columnas definidas en el conjunto de filas"
>
> pero cuando ejecuto lo que esta entre comillas desde
> el pgadmin, me lo hace sin problemas.
> a alguien se le ocurre que puede ser?
>
>
>
>
> Yahoo! Encuentros.
>
> Ahora encontrar pareja es mucho más fácil, probá el
> nuevo Yahoo! Encuentros
http://yahoo.cupidovirtual.com/servlet/NewRegistration
No es problema ni de esquema ni de postgresql.
Te comento como resuelvo yo eso con una conexion del
dataenviroment.
Metodo uno
DtaSysGc.cnSysGeGc.Execute "insert into
central.documentos (id_articulo,id_cab,cantidad)
select '" & TxtDatos(0).Text & "' as id_articulo, " &
nCabezales & " as id_cab, " &
Abs(Val(Lbldatos(4).Caption)) & " as cantidad;"
Metodo dos, en un dataenviroment inserto un
procedimiento almacenado,
invocandolo asi y pasandole los parametros que te
solicita y reconoce sin problemas,
central.fnc_ing_doc_acree_asoc es en este caso una
funcion, pl/pgsql. la cual inserte en dtasysgegcfunc,
que es un arhico dsr en el datenviroment, que ve muy
bien estos store procedure, funciones en postgresql.
DtaSysGeGcFunc.central_fnc_ing_doc_acree_asoc
DbgSinAsignar.Columns(0), DbgSinAsignar.Columns(1),
DbgSinAsignar.Columns(2), DbgSinAsignar.Columns(3),
Int(Val(DataGridProveedor.Columns(1))),
DbgSinAsignar.Columns(4),
Val(DataComboMoneda.BoundText),
DtaSysGc.rssqlmonedas.Fields("cotizacion_dia"),
IIf(Int(DbgSinAsignar.Columns(7)) =
Int(DbgPendientes.Columns(7)),
DbgPendientes.Columns(7),
Val(DbgSinAsignar.Columns(7))),
DbgPendientes.Columns(0), DbgPendientes.Columns(1),
DbgPendientes.Columns(2), DbgPendientes.Columns(3)
Mejora todavia si tenes un valor de retorno, por
ejemplo para mostrarte el id serial que inserto
devolviendo return currval('secuencia'), para lo cual
tenes que invocarla con una variable integer por
ejemplo
intVariable =
DtaSysGeGcFunc.central_fnc_ing_doc_acree_asoc(
DbgSinAsignar.Columns(0), DbgSinAsignar.Columns(1),
DbgSinAsignar.Columns(2), DbgSinAsignar.Columns(3),
Int(Val(DataGridProveedor.Columns(1))),
DbgSinAsignar.Columns(4),
Val(DataComboMoneda.BoundText),
DtaSysGc.rssqlmonedas.Fields("cotizacion_dia"),
IIf(Int(DbgSinAsignar.Columns(7)) =
Int(DbgPendientes.Columns(7)),
DbgPendientes.Columns(7),
Val(DbgSinAsignar.Columns(7))),
DbgPendientes.Columns(0), DbgPendientes.Columns(1),
DbgPendientes.Columns(2), DbgPendientes.Columns(3))
esta ves con los parametros entre parentesis.
Bien Gabriel, espero te sirva, si no mandame el codigo
y el formulario y te doy una manito.
Atte.
Gabriel Colina
____________________________________________________________________________________
¡Capacidad ilimitada de almacenamiento en tu correo!
No te preocupes más por el espacio de tu cuenta con Correo Yahoo!:
http://correo.espanol.yahoo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Oswaldo Hernández | 2008-03-20 12:03:58 | Re: Se puede hacer ? |
Previous Message | Gabriel Hermes Colina Zambra | 2008-03-20 05:53:54 | Re: Rehaciendo Postgresql.cl |