Guest --paulo.feitosa -- Postado Setembro 1, 2008 Denunciar Share Postado Setembro 1, 2008 [color="#FF8C00]Olá turma no ScripBrasil, beleza?Alguém sabe me dizer qual o código para filtrar dados em um banco para aparecer no dbgrig somente os registros que satisfaçam uma condição?Já tentei com Query1.SQL.ADD(´select * from Arquivo´) Query1.SQL.ADD(´where CAMPO = :paramentro1´) Query1.SQL.ADD(´order by CAMPO´)sem sucesso.Obrigado pela ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duduh_Capixaba Postado Setembro 1, 2008 Denunciar Share Postado Setembro 1, 2008 (editado) Sua Query não deu certo porque você não indicou para ela o que é ":parametro". Tente assim:Query1.SQL.ADD(´select * from Arquivo´); Query1.SQL.ADD(´where CAMPO = :paramentro1´); Query1.SQL.ADD(´order by CAMPO´); Query1.Params[0].AsFormatoCampo := DadosParaCampo;Onde "AsFormatoCampo" é o formato do seu campo: String, Float, Integer, Date... E "DadosParaCampo" é o valor variável que "CAMPO" vai receber. Pode ser um Edit ou qualquer outro componente.Se for usar uma tabela, sete a propriedade Filtered para True, e preencha a propriedade Filter. Exemplo: Table1.Filter := 'CODCLIENTE = 100'. Editado Setembro 1, 2008 por Duduh_Capixaba Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --paulo.feitosa -- Postado Setembro 3, 2008 Denunciar Share Postado Setembro 3, 2008 Sua Query não deu certo porque você não indicou para ela o que é ":parametro". Tente assim:Query1.SQL.ADD(´select * from Arquivo´); Query1.SQL.ADD(´where CAMPO = :paramentro1´); Query1.SQL.ADD(´order by CAMPO´); Query1.Params[0].AsFormatoCampo := DadosParaCampo;Onde "AsFormatoCampo" é o formato do seu campo: String, Float, Integer, Date... E "DadosParaCampo" é o valor variável que "CAMPO" vai receber. Pode ser um Edit ou qualquer outro componente.Se for usar uma tabela, sete a propriedade Filtered para True, e preencha a propriedade Filter. Exemplo: Table1.Filter := 'CODCLIENTE = 100'.Testei mas não funcionou, mesmo asssim obrigado pela atenção. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 3, 2008 Denunciar Share Postado Setembro 3, 2008 Alguém sabe me dizer qual o código para filtrar dados em um banco para aparecer no dbgrig somente os registros que satisfaçam uma condição?já existem no forum varios posts que exemplificam a sua duvida, de uma olhadahttp://scriptbrasil.com.br/forum/index.php...tru%E7%F5es+sqlabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Feitosa Postado Setembro 26, 2008 Denunciar Share Postado Setembro 26, 2008 Alguém sabe me dizer qual o código para filtrar dados em um banco para aparecer no dbgrig somente os registros que satisfaçam uma condição?já existem no forum varios posts que exemplificam a sua duvida, de uma olhadahttp://scriptbrasil.com.br/forum/index.php...tru%E7%F5es+sqlabraçoObrigado pela ajuda amigo. Mas não consegui resolver, mesmo incluindo a linha que estava faltando. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Setembro 27, 2008 Denunciar Share Postado Setembro 27, 2008 Alguém sabe me dizer qual o código para filtrar dados em um banco para aparecer no dbgrig somente os registros que satisfaçam uma condição?Já tentei com Query1.SQL.ADD(´select * from Arquivo´) Query1.SQL.ADD(´where CAMPO = :paramentro1´) Query1.SQL.ADD(´order by CAMPO´) sem sucesso.paulo.feitosa, vamos começar do início... Tirando aquela bagunça de [colors], fica mais fácil ver o que você postou e sinceramente não me parece que seja o que você tem no seu código. Se for, sequer está compilando, porque as você está utilizando acento agudo (´) para delimitar as strings, ao invés de aspas simples ('), donde resultaria que seu código teria esta cara: Query1.SQL.ADD('select * from Arquivo') Query1.SQL.ADD('where CAMPO = :paramentro1') Query1.SQL.ADD('order by CAMPO') Entrando na questão do parâmetro, citada pelo colega Duduh_Capixaba, você aparentemente deseja filtrar as informações tendo o CAMPO um valor específico. Pela falta de informação inicial, o colega sugeriu uma passagem de parâmetro de uma forma que não é a aceita pelos componentes da paleta ADO (p.e., params[idx].AsInteger). Neste caso, você deverá tentar da seguinte forma: Query1.Close; Query1.SQL.ADD('select * from Arquivo') Query1.SQL.ADD('where CAMPO = :paramentro1') Query1.SQL.ADD('order by CAMPO') Query1.Parameters[0].Value := <valor a ser filtrado>; Query1.Open;sendo que onde aparece <valor a ser filtrado> deve ser substituido pela origem da informação que você está utilizando - pode ser um Edit onde o usuário digitou o que deseja filtrar.Se for fazer uma filtragem de um campo string, tipo o nome de uma pessoa ao algo similar e desejar que esta busca seja parcial, ou seja, o campo contenha em parte de seu conteúdo o valor sendo filtrado, neste caso você terá que usar LIKE no lugar de "=".É importante lembrar que este ADOQuery deve estar ligada a um Datasouce, que por sua vez está ligado ao DBGrid. Caso contrário, mesmo executando a query, você não vai ver nada.Como o colega Jhonas já citou, há muitos tópicos sobre este assunto aqui no forum, dê uma pesquisada para ver as possibilidades (são várias).Por fim, ainda há a possibilidade de não ser nada do que citei, então, tente dar mais informações, como por exemplo: - qual a mensagem de erro que você recebe? (original - sem tradução);- o erro ocorre ao compilar o programa ou quando já está em execução;- tipo dos campos importantes na avaliação do problema.É este tipo de falta de informação que me fez colocar a pequena nota em destaque na minha assinatura, ali embaixo. :rolleyes: Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --paulo.feitosa --
[color="#FF8C00]Olá turma no ScripBrasil, beleza?
Alguém sabe me dizer qual o código para filtrar dados em um banco para aparecer no dbgrig somente os registros que satisfaçam uma condição?
Já tentei com Query1.SQL.ADD(´select * from Arquivo´)
Query1.SQL.ADD(´where CAMPO = :paramentro1´)
Query1.SQL.ADD(´order by CAMPO´)sem sucesso.Obrigado pela ajuda.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.