Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

zephirus

Problema com caracteres reservados em SQLITE

Mensagens Recomendadas

zephirus

Olá,

Já coloquei esta questão no tópico da base de dados mas depois de 15 dias ninguém me respondeu. Como tal, vou tentar a minha sorte aqui visto que estou a usar sqlite em vb.net. Deixo aqui o meu texto original:

Estou a usar uma base de dados sqlite para guardar dados de um programa. Nesse programa tenho campos de texto e estou a guardar essa informação na bd. O problema é que o utilizador pode escrever qualquer coisa o que faz com que possam estar no texto caractéres proibidos, tais como o '.

Exemplo de texto que pode ser inderido: don't ask

No exemplo acima, o ' é um problema. Há alguma maneira de dar a volta a isto?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

sephirus, podes colocar o código que estás a usar?

Parto do princípio que estejas a usar a System.Data.SQLite destes tipos, certo?


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fLaSh_PT

Boas;

Basta dares o tratamento das Quotes antes de inserires..

Imagina:

Dim sTexto as String = caixatexto.text

' Tens de fazer o replace do char ' por ''
sTexto = sTexto.Replace("'","''")

'Depois é só fazer o INSERT que não tens problemas 

Ou fazer como mostrou o softclean nos links.. como eu disse é mais simples..

Compr.


Making the impossible possible and pwing the world on db at a time.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Obrigado a todos. Acho que vou usar o método de substituição por agora.

Má prática. Péssima, por sinal. Mas tu é que sabes...


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zephirus

Má prática. Péssima, por sinal. Mas tu é que sabes...

Por isso é que eu disse "por agora" :P   Para a aplicação que é e para o tempo que tenho agora vai servir.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fLaSh_PT

@mjamado

Sim, mas sabes que o mundo do trabalho não é como na escola..

Falo por experiência profissional, porque nem sempre sou eu que crio as BD's.. e fico me por o lado da aplicação.. daí que esse método pode causar problemas.. basta trocar de tipo de bd (SQL 2005 para SQL 2008) ou alguém modificar algum tipo de dados de uma coluna .. e os problemas podem aparecer .. e no final de contas tu que ficas o mal da fita..

Esse método é vital no caso das webpages, porque evitam ataques do tipo SQL Injection..

Uma coisa é certa, temos de nos adaptar ao mundo real do trabalho.. o ideal é perceber um pouco de tudo.. e saber conjugar as coisas..

Nem sempre o eficaz é melhor que o eficiente ;)


Making the impossible possible and pwing the world on db at a time.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zephirus

@mjamado

Sim, mas sabes que o mundo do trabalho não é como na escola..

Falo por experiência profissional, porque nem sempre sou eu que crio as BD's.. e fico me por o lado da aplicação.. daí que esse método pode causar problemas.. basta trocar de tipo de bd (SQL 2005 para SQL 2008) ou alguém modificar algum tipo de dados de uma coluna .. e os problemas podem aparecer .. e no final de contas tu que ficas o mal da fita..

Esse método é vital no caso das webpages, porque evitam ataques do tipo SQL Injection..

Uma coisa é certa, temos de nos adaptar ao mundo real do trabalho.. o ideal é perceber um pouco de tudo.. e saber conjugar as coisas..

Nem sempre o eficaz é melhor que o eficiente ;)

Eu sei disso e concordo.

Eu estou a fazer uma aplicação no pouco tempo que tenho livre (depois do trabalho) e além de ser uma aplicação muito básica, sei quem a vai usar. Não é uma aplicação para divulgar ou vender. Mas eu vou tentar mudar isto, o que eu disse foi que por agora fica assim pois ainda estou a desenvolver. Antes de dar a aplicação como terminada ainda vou voltar a isto.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.