Jump to content
ludgero1993

sql query

Recommended Posts

ludgero1993

"SELECT * from Pessoa" & _
				   " WHERE Nome_da_Empresa LIKE '%" & TextBox5.Text & "%'" & _
				   " OR Nome_da_pessoa LIKE '%" & TextBox2.Text & "%'" & _
				   " OR Nº_telemovel LIKE '%" & TextBox3.Text & "%'" & _
				   " OR nome_do_cargo LIKE '%" & TextBox4.Text & "%'"

esta query esta bem ?

Edited by Rui Carlos
Formatação do código.

Share this post


Link to post
Share on other sites
nelsonr

Isso é para que base de dados? MSSQL?

Assim à primeira vista parece bem, mas mudava o campo do nº_telemovel para não incluir o caracter º e tinha de fazer ai um filtro para não deixar incluir o caracter ' nos textos (para diminuir o risco de SQL Injection)

-- EDIT --

No entanto, poderás ter ai um problema se algum dos campos for vazio, ficando campo like '%%', retornando todos os registos

Edited by nelsonr

Share this post


Link to post
Share on other sites
ludgero1993

exacto e isso que eu quero que para filtrar mas ele aparece tudo branco ja tentei tudo ja nao sei o que fazer se for so um campo ele faz a pesquisa direitinha agora se for varios ja nao da

Share this post


Link to post
Share on other sites
nelsonr

Crias uma string e vais adicionando o filtro caso o campo tenha texto.

Algo do tipo:

dim sql as string
sql=""

' Remover as plicas
TextBox5.Text=TextBox5.Text.Replace("'","")
TextBox2.Text=TextBox2.Text.Replace("'","")

' Nome da empresa
If Not String.IsNullOrEmpty(TextBox5.Text) then
  sql="Nome_da_Empresa LIKE '%" & TextBox5.Text & "%'"
end if

' Nome da pessoa
If Not String.IsNullOrEmpty(TextBox2.Text) then
  if not String.IsNullOrEmpty(sql) then
sql=sql+" OR "
  endif
  sql=sql + "Nome_da_pessoa LIKE '%" & TextBox2.Text & "%'"
end if

' ... adicionar aqui os outros campos

'
if not String.IsNullOrEmpty(sql) then
sql="SELECT * from Pessoa WHERE "+sql
else
sql="SELECT * from Pessoa"
endif

Atenção que não tenho o VB instalado, não sei se compila, mas é para ficares com uma idea

-- EDIT --

Já agora, se o objectivo é que o conteúdo tem de estar de acordo com todos os filtros definidos, tens de mudar o OR para AND

Edited by nelsonr

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.