USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Apostrofe
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 09/01/2007 19:08 hs            
Olá Ed, blz? Olha, o trabalho que vai dar em substituir o apóstrofo por 2 apóstrofos não é o mesmo q substituir o apóstrofo por crase ou acento agudo?
 
Há coisas que não tem jeito, temos q considerar e fazer as consistências necessárias para q o sistema fique estável.
 
falows
   
ED - Clarett
não registrado
ENUNCIADA !
Postada em 10/01/2007 07:48 hs   
Se usar qualquer coisa o problema será o mesmo se o usuario o digitar - apostrofes, acentos, crases, etc... tudo será a mesma porcaria...
 
Estou fazendo testes com aspas, apenas aspas, assim que terminar e testar eu coloco aqui...
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 10/01/2007 09:25 hs            
Só lembrando de avisar o usuário q se ele gravar um texto com apóstrofo no banco vai ser substituído por crase, acento agudo ou aspas...senão ele não irá achar o texto em uma eventual pesquisa... :)
 
at+
   
san
não registrado
ENUNCIADA !
Postada em 11/01/2007 10:02 hs   
Se vc optar por trocar o apóstrofe por acento crase ou agudo, tem uma maneira de facilitar um pouco o trabalho de montar a instrução sql. Basta que antes de criar a instrução vc aplique uma função em cada um dos campos texto (e combos se for o caso).
 
Coloque em um módulo a seguinte função:
Public Function TxTroca(ByVal Texto As String) As String
   TxTroca = Replace(Texto, "'", "`") 'estou usando a crase, mas poderia ser o agudo
End Function
 
Depois, basta usar as seguintes linhas (conforme os campos da sua tela) para em seguinda criar a instrução sql:
Campo1.Text = TxTroca(Campo1.Text)
Campo2.Text = TxTroca(Campo2.Text)
Campo3.Text = TxTroca(Campo3.Text)
 
Sql = "insert..............
 
 
Se vc tiver alguma tela com um campo para o usuário procurar algum dado, use a função no campo antes da rotina de procura. Assim, se ele digitar um apóstrofe, este se transformará em acento crase ou agudo.
   
ED - Clarett
não registrado
ENUNCIADA !
Postada em 11/01/2007 16:35 hs   
Olá amigos...
ghost, é o seguinte...
 
bd.Execute "INSERT INTO CadastroPonto (Ponto, Descrição) VALUES (" & """" & CBOPontos.Text & """" & ", " & """" & CBODescricao.Text & """" & ");"
 
... no UpDate ou numa instrução  Select, não usem nada, exceto aspas e pronto........
 ... só que ainda estamos na mesma se o usuario usar aspas... mas que porcaria.
A idéia sua e do San, ainda são as melhores, vou acata-las e pronto...
 
abraços... e muito obrigado
 
   
CSRocha
BRASILIA
DF - BRASIL
ENUNCIADA !
Postada em 11/01/2007 22:39 hs            
Uso há muito tempo uma função pega por aí... não dou o crfédito porque não me lembro mais.

Uso em um módulo:

Public Function Plic(ByVal sTexto As String) As String
  If InStr(sTexto, Chr(39)) Then
    Plic = Chr(39) & Replace(sTexto, Chr(39), Chr(39) & Chr(39)) & Chr(39)
  Else
    Plic = Chr(39) & sTexto & Chr(39)
  End If
End Function

E chamo assim:

cnn.Execute "Delete From tbPacientes Where Nome = " & Plic(txNome.Text)

Aqui é uma instrução delete, mas é comum em qualquer outra. Note que não há necessidade de se colocar o apóstrofo depois do cinal de =, como fazemos com strings normalmente.

    
   
Página(s): 2/3     « ANTERIOR    PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página