Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda - (RESOLVIDO)


lazarodm

Pergunta

20 respostass a esta questão

Posts Recomendados

  • 0

o ideial (mais simples de funcionar) é usar Params ou ParamByName:

query1.sql.add('Select * from tabela.db where Nome like :item);

query1.sql.Params('0').asstring := edit1.text ou

query1.sql.ParamByName('item').asstring := edit1.text

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Ricardo Soares de Lima

Este item é o parâmetro passado ao comando sql aquele : antes dele indica que ele é um parâmetro.

Link para o comentário
Compartilhar em outros sites

  • 0

Exato...

Usar parametro sempre é melhor que jogar valores na linha SQL.

Facilita na implementação, por que voce não se enrola com aquele monte de "" aspas e + Sinais de adicao

E tambem por que fica mais facil de tratar os tipos de variaveis (Date, string, boolean)...

Voce vai ver que quando precisar fazer algo um pouco mais complicado vai ter que usar parametros....

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei usar os dois métodos acima, mas não funcionou. Dava vários tipos de erro... E se alguém souber algum tipo de consulta que pode ser utilizado com o componente TTable, ou melhor, algumas apostilas explicando como utilizar o componente TQuery.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, eu perguntei, pois quando eu trabalho com banco de dados, a sintaxe do SQL costuma mudar pra quem esta acostumado com a do BDE, geralmente eu utilizo Access tambem, mas eu uso componente de acesso pelo Jet, espero que isso não afete o a sintaxe do SQL...

Eu faria a query de seleção da seguinte maneira:

Query1.SQL.Text := 'SELECT * FROM tabela_desejada WHERE nome_do_campo LIKE '+#39+ var_substring + '*' +#39+'

note que esse que eu pus logo apos o "var_substring" é um caracter curinga, entende?

ou seja, ele vai mostrar todos os registros que começam com o texto que esta na var_substring e terminem com qualquer coisa...

no Paradox o caracter curinga é o "%", por isso eu queria saber qual sintaxe de SQL usar...

Bom, se der erro, posta o erro aqui, mas acho dificil, sempre uso assim e nunca obtenho erro...

falows

Link para o comentário
Compartilhar em outros sites

  • 0

Estamos progredindo...

Ainda não está funcionando totalmente, não dá mais nehum erro que para o programa e manda recompilar, etc.

Mas o DBGrid fica em branco, todos os campos ficam em branco, mesmo eu digitando um valor que está na tabela... Acho que só falta esse problema.

Link para o comentário
Compartilhar em outros sites

  • 0

Tipo, como eu tow sem Access no momento, não posso te fazer um exemplo, mas quando eu testei, testei no Database Desktop e notei que ele era "Case Sensitive", ou seja, diferenciava letras maiusculas de minusculas... será que não está retornando nada por algum caso assim??

Tipo, se não funcionar bem com o '*', tenta usar o '%'... quem sabe não funciona?

Link para o comentário
Compartilhar em outros sites

  • 0

Olá,

Acho que está resolvido (aqui deu certo).

Tente usar a seguinte sentença SQL no evento OnKeyUp do Edit1:

=======================================================================================

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('SELECT * FROM NomeDaTabela WHERE NomeDoCampo LIKE ' + #39 + Edit1.Text + '%' + #39);

ADOQuery1.Open;

=======================================================================================

Caso você ainda não consiga, me fala que eu te mando o arquivo fonte do exemplo.

Abs.

Link para o comentário
Compartilhar em outros sites

  • 0

Capablanca... não é bom utilizar o valor do edit dentro da setença SQL

O ideal é utilizar o Param, fica mais simples e dificil de se enrolar porque voce tem que ficar colocando as " aspas

Link para o comentário
Compartilhar em outros sites

  • 0
Capablanca... não é bom utilizar o valor do edit dentro da setença SQL

O ideal é utilizar o Param, fica mais simples e dificil de se enrolar porque voce tem que ficar colocando as " aspas

Sim, é uma outra opção. Elaborei a sentença daquele modo para ficar mais fácil para o Lázaro entender. cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta fazer assim: (eu sempre tive menos problema usando params ao invés de botar o valor do edit direto na SQL...)

Query1.SQL.add(SELECT * FROM tabela_desejada WHERE nome_do_campo LIKE UPPER :param1 + %)

query1.sql.Params('0').asstring := edit1.text ou

query1.sql.ParamByName('param').asstring := edit1.text

Link para o comentário
Compartilhar em outros sites

  • 0
Tenta fazer assim: (eu sempre tive menos problema usando params ao invés de botar o valor do edit direto na SQL...)

Query1.SQL.add(SELECT * FROM tabela_desejada WHERE nome_do_campo LIKE UPPER :param1 + %)

query1.sql.Params('0').asstring := edit1.text ou

query1.sql.ParamByName('param').asstring := edit1.text

Beleza... Valeu pelo complemento.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...