Validar un string en Mysql

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

winca
Usuário Nível 1
Usuário Nível 1
Mensagens: 24
Registrado em: 17 Ago 2015 15:15
Localização: santiago

Validar un string en Mysql

Mensagem por winca »

Hola a Todos:

Alguien sabe como validar que los datos de un string, no tengan caracteres invalidos, por ejemplo la comilla simple ( ' ).

Necesito poder grabar los datos sin caracteres especiales .

Existe alguna funcion en harbour o Mysql que realice esto ?

Gracias,
Winca
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Validar un string en Mysql

Mensagem por Fernando queiroz »

Código: Selecionar todos

*************************************************************************
Function TIRACENTO(cStr)
********************* Retira Acentos e Letras de uma String ********************
***Static Function fRetiraAcento(cStr)
   cStr:= StrTran(cStr, [á], [a])  ; cStr:= StrTran(cStr, [à], [a])  ; cStr:= StrTran(cStr, [â], [a])
   cStr:= StrTran(cStr, [ã], [a])  ; cStr:= StrTran(cStr, [�], [A])  ; cStr:= StrTran(cStr, [À], [A])
   cStr:= StrTran(cStr, [Â], [A])  ; cStr:= StrTran(cStr, [Ã], [A])  ; cStr:= StrTran(cStr, [É], [E])
   cStr:= StrTran(cStr, [Ê], [E])  ; cStr:= StrTran(cStr, [é], [e])  ; cStr:= StrTran(cStr, [è], [e])
   cStr:= StrTran(cStr, [È], [e])  ; cStr:= StrTran(cStr, [ê], [e])  ; cStr:= StrTran(cStr, [í], [i])
   cStr:= StrTran(cStr, [ì], [i])  ; cStr:= StrTran(cStr, [�], [I])  ; cStr:= StrTran(cStr, [Ì], [I])
   cStr:= StrTran(cStr, [õ], [o])  ; cStr:= StrTran(cStr, [ô], [o])  ; cStr:= StrTran(cStr, [ó], [o])
   cStr:= StrTran(cStr, [ò], [o])  ; cStr:= StrTran(cStr, [o], [o])  ; cStr:= StrTran(cStr, [O], [O])
   cStr:= StrTran(cStr, [Ò], [O])  ; cStr:= StrTran(cStr, [Ó], [O])  ; cStr:= StrTran(cStr, [Ô], [O])
   cStr:= StrTran(cStr, [Õ], [O])  ; cStr:= StrTran(cStr, [ü], [u])  ; cStr:= StrTran(cStr, [ú], [u])
   cStr:= StrTran(cStr, [ù], [u])  ; cStr:= StrTran(cStr, [Ú], [U])  ; cStr:= StrTran(cStr, [Ù], [U])
   cStr:= StrTran(cStr, [Ü], [U])  ; cStr:= StrTran(cStr, [ç], [c])  ; cStr:= StrTran(cStr, [Ç], [C])
   cStr:= StrTran(cStr, [y], [y])  ; cStr:= StrTran(cStr, [ñ], [n])  ; cStr:= StrTran(cStr, [Ñ], [N])
   cStr:= StrTran(cStr, [º], [o.]) ; cStr:= StrTran(cStr, [°], [o.]) ; cStr:= StrTran(cStr, [ª], [a.])
   cStr:= StrTran(cStr, [&], [&]) ; cStr:= StrTran(cStr, ['], [\']); cStr:= StrTran(cStr, [D'], [D\']) 
   cStr:= StrTran(cStr, [Ç], [C]) ; cStr:= StrTran(cStr, [ç], [c]) 
   Return (cStr)
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
winca
Usuário Nível 1
Usuário Nível 1
Mensagens: 24
Registrado em: 17 Ago 2015 15:15
Localização: santiago

Validar un string en Mysql

Mensagem por winca »

Hola ,

Muchas gracias por tu ayuda, la probare.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Validar un string en Mysql

Mensagem por JoséQuintas »

Ou antes de gravar:

Código: Selecionar todos

cString := StrTran( cString, ['], [\'] )
Isso é para o caso de gravar caracteres "diferentes", a barra "\" indica que o próximo caractere deve ser usado exatamente como está.

\'xxx\' vai gravar 'xxx' com as aspas

No comando:

Código: Selecionar todos

UPDATE CADCLI SET NOME = '\'xxx\''
Sobre caracteres acentuados, depende da CODEPAGE da base de dados, e também da CODEPAGE do Harbour.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
winca
Usuário Nível 1
Usuário Nível 1
Mensagens: 24
Registrado em: 17 Ago 2015 15:15
Localização: santiago

Validar un string en Mysql

Mensagem por winca »

Don José,

muy buen ejemplo, muchas gracias.

Winca
Responder