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
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 |