Los ' Al Insertar En MySQL


Objetivo: Los ' Al Insertar En MySQL
¡¡Hola familia!!

Tengo un pequeño problema medio solucionado:

En catalan me he encontrado que poblaciones tipo "L'Hospitalet" llevan ese apostrofe que se utiliza para insertar el texto dentro de la secuencia SQL manera de solucionarolo: poniendo dos ' asi: "L''Hospitalet" Pero claro, esto al usuario no se lo digas porque te dira que vaya mi...a de programita. Otra opción que he barajado es pasar a variables todos los campos de texto y de ahi reemplazar el simbolo ' por '' (no confundir por ")

¿Hay algun opción más correcta para esto?

P.D: Vamos a ver si suena la flauta: ¿con arrays? yo, no tengo ni idea de como funcionan los arrays

última edición por estrella_de_galicia el Domingo, 06 Junio 2010, 07:33; editado 2 veces
Objetivo: Re: Los ' Al Insertar En MySQL
En lugar de usar la sintaxis del tipo:

hres = conx.Exec("INSERT INTO mibase VALUES('" & textbox.text & "', '" & textbox.text & " );")



...que puede llegar a ser muy confuso y proclive a errores de sintaxis SQL, es preferible usar la forma basada en parámetros, que además de ser más sencilla y legible, realiza todas las conversiones necesarias para evitar esa clase de problemas como el tuyo y muchos más, por ejemplo con fechas, etc:

hres = conx.Exec("INSERT INTO mybase VALUES(&1, &1)", textbox1.text, textbox2.text)



O mejor si declaras el sql en una variable string:

DIM sql as String

sql = "INSERT INTO mybase VALUES(&1, &1)"
conx.Exec(sql, textbox1.text, textbox2.text)


Los comodines &1, &2, etc y así sucesivamente, se corresponden con el orden en el que pasas los parámetros a continuación de la sentencia sql.

Así no tendrás problemas y evitarás tener que hacer conversiones de cualquier tipo.

Saludos

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1055s (PHP: -43% SQL: 143%)
Consultas SQL: 24 - Debug off - GZIP Activado