Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2009, 11:59
jrsiste20
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
vfp - postgresql

Buenos dias:
Trabajo con vfp6 original, y la empresa no desea invertir en software, es por ello que tengo que solucionar mis problemas de programacion con esta version, ademas estoy empezando a trabajar con postgresql 8.3
mi consulta es la sgte:
deseo crear una funcion en postgresql que me permita insertar nuevos articulo en mi tabla art_a que pertene a la base de datos inventario creada en postgresql.

para ello llamo a la funcion asi:

no_error = SQLEXEC(gnConnHandle,'select manart1(?da1,?da2)')
IF no_error < 0
=MESSAGEBOX('Tabla no disponible',16,'Error')
ENDIF
donde: da1 es, el codigo del articulo
da2 es, el nombre del producto

Nota: mis datos a insertar son exactamente 21 datos (desde da1 hasta da21), pero estoy probando solo con dos campos (da1, da2)
la verdad que por mas que lee el manual de postgresql con respectoa funciones o triggers mas me pierdo, muchas gracias.

ayudeme por favor como deberia ser mi funcion para llegar a lo que deseo,

gracias

JRCORONADO

A su gerencia de un colega muy experimentado me indico que haga lo sgte:

set text to c:\mi_sql.txt noshow
set textmerge on
\\INSERT INTO postgres.ART_A(CODIGO,DESCRIPC,CAMBIO,NANDINA,GRUP O,CLAVE,FACT_VTA,COS_FAB,PRECOSD_A,PRECOSD,DOLAR,T IP_CAMD,VALORV,LOCALIZA,STKACT,SDO_REAL,STKMIN) values ('<<da1>>', '<<da2>>','<<da3>>', '<<da4>>','<<da5>>', '<<da6>>','<<da7>>', '<<da8>>','<<da9>>', '<<da10>>','<<da11>>', '<<da12>>','<<da13>>', '<<da14>>','<<da15>>', '<<da16>>','<<da17>>')
set textmerge off
set textmerge to
ssql = FILETOSTR('c:\mi_sql.txt')
no_error = SQLEXEC(gnConnHandle,ssql)
IF no_error < 0
=MESSAGEBOX('Tabla no disponible',16,'Error')
ENDIF

Nota: como veran y lo he probado solo mediante esta forma puedo trabajar desde da1 hasta da17, ya que cuando coloco los demas datos a insertar en el registro (da18 hasta da21) no me inserta el registro,ademas deseo hacer el insert mediante una funcion.

muchas gracias,

disculpen tanta molestia y tanta ignorancia.