tincho   12-08-2021, 10:59
#1
Hola a todos.
Aquí les propongo una función que adecua un texto para que sea posible usarlo en una consulta SQL si que esta de error.
Por favor si alguien tiene una mejor idea por favor no dude en compartirla.

Código:
'' Returns a text suitable for SQL queries, removes line breaks and characters not compatible with SQL statements.

Static Public Function Chek4SQL(strInput As String) As String
 
  Dim strOutput As String
 
  strOutput = Replace(strInput, Chr(92) & Chr(110), ":")
  strOutput = Replace(strOutput, Chr(34), "")
  strOutput = Replace(strOutput, "\n", " ")
  strOutput = Replace(strOutput, "\r", "")
  strOutput = Replace(strOutput, "\x00", "")
  strOutput = Replace(strOutput, Chr(39), Chr(46))
  strOutput = Replace(strOutput, Chr(44), Chr(46))
 
  Return strOutput
 
End
Saludos.
Última modificación: 04-12-2021, 15:34 por tincho.

1 Saludo.
Shordi   12-08-2021, 11:24
#2
¿Es para la clausula where?... no entiendo muy bien el propósito ni el contexto de ejecución.  Huh Huh

No podemos regresar
tincho   12-08-2021, 15:01
#3
(12-08-2021, 11:24)Shordi escribió: ¿Es para la clausula where?... no entiendo muy bien el propósito ni el contexto de ejecución.

Es para las consultas de inserción de registros, cuando estos tiene ciertos caracteres la "query" no funciona.
Saludos.

1 Saludo.
Shordi   12-08-2021, 18:14
#4
Sin que sea mejor ni peor, sólo porque yo tengo como fobia a esas chorrileras de instrucciones iguales, lo hubiese escrito así:

Código:
Static Public Function Chek4SQL(strInput As String) As String
 
  Dim strOutput As String
  Dim aForbiden, aReplacement As New String[]
  Dim n As Integer
 
  aForbiden = [Chr(92) & Chr(110), Chr(34), "\n", "\r", "\x00", Chr(39), Chr(44)]
  aReplacement = [";", "", " ", "", "", Chr(46), Chr(46)]
  strOutput = strInput
  For n = 0 To aForbiden.Max
      strOutput = Replace(strOutput, aForbiden[n], aReplacement[n])
  Next
 
  Return strOutput
 
End

La adición posterior de caracteres inadecuados que surjan con el uso sería también más simple, creo.


Saludos.

No podemos regresar
tincho   12-08-2021, 18:32
#5
(12-08-2021, 18:14)Shordi escribió: Sin que sea mejor ni peor, sólo porque yo tengo como fobia a esas chorrileras de instrucciones iguales, lo hubiese escrito así:

Si, es otra forma valida de hacerlo, pero viniendo de ti esperaba una "Collection" Smile
Saludos.

1 Saludo.
Shordi   12-08-2021, 18:54
#6
(12-08-2021, 18:32)tincho escribió:
(12-08-2021, 18:14)Shordi escribió: Sin que sea mejor ni peor, sólo porque yo tengo como fobia a esas chorrileras de instrucciones iguales, lo hubiese escrito así:

Si, es otra forma valida de hacerlo, pero viniendo de ti esperaba una "Collection" Smile
Saludos.
También, también... Tongue Big Grin Big Grin Big Grin

No podemos regresar
  
Usuarios navegando en este tema: 4 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.