Visual Basic - error en insert into.. me ayudan?

Life is soft - evento anual de software empresarial
 
Vista:

error en insert into.. me ayudan?

Publicado por diego (2 intervenciones) el 07/09/2007 15:00:46
hola a todos..
alguien me podria ayudar..?

hago una instruccion insert desde visual y me error de sintaxis..
se cual es el motivo .. pero me falta la solucion jaja

ej,,

INSERT INTO table (campo1) values ('mister pop's');

si se fijan el campo que quiero insertar tiene un " ' " .. hay es donde me da el error..
como hago para que esto funcione..

please...!!! gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:error en insert into.. me ayudan?

Publicado por P. J. (173 intervenciones) el 07/09/2007 17:16:30
En el sql para eso se hace,

insert into tabla values ('mister pop''s')

ose doble apostrofe onde seria solo 1, prueba esa forma

ELSE

crea una variable "xxx'xxx"

y eso lo mandas al INSERT.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error en insert into.. me ayudan?

Publicado por Emanuel Jauregui (2 intervenciones) el 05/10/2007 22:06:04
Hola amigo esta viendo tu pregunta, es muy sencillo, recuerdas en el leguaje c lo que ocurre cuando tu quiere poner el caracter "\" en una cadena. Este caracter en conjunto con ciertos caracteres hace algo por ejemplo "\n" es un retorno de carro. Sin embargo si yo quiero escribir "MiNombre\n" literalmente, lo tendria que hacer asi "MiNombre\\n ".

En visual basic en conjunto con las cadenas sql se hace de manera similar por ejemplo si quieres scribir

" mister pop's " un apostrofe tu tendrias que escribir el apostrofe dos veces...entonces tenemos que en codigo tu pondrias:::

" mister pop''s "
.... Nota que no es un doble apostrofe, es un apostrofe presionado dos veces...

obviamente que para poder enviar ese formato tendrias que utilizar una funcion que detecte las cadenas de este tipo

call funcionquitaApostrofe(Mi'Cadena'con'Apostrofes)

private sub funcionquitaApostrofe(cadena as string)
for i = 1 to len(cadena)

next i
end sub

INSERT INTO table (campo1) values ('mister pop's');

si se fijan el campo que quiero insertar tiene un " ' " .. hay es donde me da el error..
como hago para que esto funcione..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error en insert into.. me ayudan?

Publicado por Emanuel Jauregui (2 intervenciones) el 05/10/2007 22:10:15
Hola amigo esta viendo tu pregunta, es muy sencillo, recuerdas en el leguaje c lo que ocurre cuando tu quiere poner el caracter "\" en una cadena. Este caracter en conjunto con ciertos caracteres hace algo por ejemplo "\n" es un retorno de carro. Sin embargo si yo quiero escribir "MiNombre\n" literalmente, lo tendria que hacer asi "MiNombre\\n ".

En visual basic en conjunto con las cadenas sql se hace de manera similar por ejemplo si quieres scribir

" mister pop's " un apostrofe tu tendrias que escribir el apostrofe dos veces...entonces tenemos que en codigo tu pondrias:::

" mister pop''s "
.... Nota que no es un doble apostrofe, es un apostrofe presionado dos veces...

obviamente que para poder enviar ese formato tendrias que utilizar una funcion que detecte las cadenas de este tipo

call funcionquitaApostrofe(Mi'Cadena'con'Apostrofes)

private sub funcionquitaApostrofe(cadena as string)
dim nuevacadena as string

for i = 1 to len(cadena)
if "ESTECARACTER***" = "'" then 'contiene un apostrofe
nuevacadena = nuevacadena & "ESTECARACTER" & "ESTECARACTER"
else
nuevacadena = nuevacadena & "ESTECARACTER"
end if

next i
end sub

Nota que este caracter es una funcion tambien solo que no recuerdo como se hace y me da flojera ir a buscar a los viejos libros. puede usar la funcion mid para obtener el caracter.

INSERT INTO table (campo1) values ('mister pop's');

si se fijan el campo que quiero insertar tiene un " ' " .. hay es donde me da el error..
como hago para que esto funcione..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar