Comillas simples y bases de datos con ASP |
|
|
Uno de los problemas más típicos con el que se enfrenta todo programador ASP, especialmente al principio, es cómo aceptar comillas simples (') en una sentencia SQL. Pues es muy sencillo, para aceptar una comilla simple hay que escaparla, poniendo 2. Igual que cuando queremos escribir una comilla doble en un Response.Write ponemos dos seguidas.
Si estás recogiendo los datos desde un formulario por ejemplo, un pequeño uso de Replace nos hará esto:
<% Dim texto, num num = 5
texto = Request.Form("Texto")
texto = Replace(texto, "'", "''")
SQL="INSERT INTO Tabla (Texto, Numero) VALUES (" & texto & _
& ", " & num &")"
...
%>
Muy sencillo. Replace acepta como primer argumento la cadena donde se va a reemplazar, como segundo la cadena a buscar y como tercer la cadena de reemplazo. Así que ponemos como segundo argumento una comilla simple y como tercer dos comillas simples juntas (ambos entre comillas dobles, claro).
|