Re: guardar consulta sql

From: Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy>
To: Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: guardar consulta sql
Date: 2008-02-06 12:21:35
Message-ID: 47A9A64F.4000006@ort.edu.uy
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gabriel Ferro wrote:
> Prociguiendo con el tema del registro de logs de usuarios, quiero
> guardar en un campo varchar(300) la consulta sql que usa el usuario
> desde el pragramita en VB, la cosa es que al intentar hacerlo por
> supuesto me da error ya que esta cadena tiene apostrofes y otras cosas
> que para postgree descujeringan la cadena...
> Para aclarles, tengo la funcion
>
> CREATE OR REPLACE FUNCTION cargalog(usuario character varying,
> usuariopc character varying, equipo character varying, ipmaquina
> character varying, aplica character varying, operacion character
> varying, cadena character varying, fechahora timestamp without time zone)
> RETURNS boolean AS
> $BODY$
> begin
> execute 'INSERT INTO tablalog (usuario, usuariopc, equipo, ipmaquina,
> aplica, operacion, cadena, fechahora)
> VALUES ('''||usuario||''' , '''||usuariopc||''' , '''||equipo||'''
> , '''||ipmaquina||''' , '''||aplica||''' , '''||operacion||''' ,
> '''||cadena||''', '''||now()||''');';
> RETURN true;
> end;
>
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE;
>
> y desde visual la ejecuto asi
>
> cnn.Execute ("select cargalog('" &
> Fsuperquery.txtUserName.Text & "','" & UsuarioActual & "','" _
> & ComputerName & "','" & RecuperarIP & "','" &
> aplicacion _
> & "','" & actividad & "','" & "','" & cadenaSQL &
> "','" _
> & Format(date, "dd/mm/yyyy") & " " & Format$(Time,
> "HH:mm") & "');")
>
>
>
> el problema es con CADENASQL
> Si me peuden ayudar como resolver el problemas se los agradecere
>
>
> ------------------------------------------------------------------------
>
> Los referentes más importantes en compra/venta de autos se juntaron:
> Demotores y Yahoo!. Ahora comprar o vender tu auto es más fácil.
> Visitá http://ar.autos.yahoo.com/
Hola, en cuanto al campo, hacelo mas grande (varchar(65000)) o un text.
En cuanto al cadenaSQL, aplicale en vb un replace (<texto>,
*"*'*"*,*"*''*"*) o sea, a cada comilla simple reemplazala por dos
simples y luego trabajalo como hasta ahora.
Disculpen el formnato pero no es facil de visualizar el tema de la comillas.

Saludos Fernando

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-02-06 12:28:32 Re: Guardar una Ruta de Disco... y en 8.1?
Previous Message Gabriel Ferro 2008-02-06 12:10:19 guardar consulta sql