DVMarinho Postado Outubro 19, 2008 Denunciar Share Postado Outubro 19, 2008 eu qria saber como faço para fazer uma consulta parcial usando query, eu consegui fazer apenas colocando o nome todo disciplinaAlterar.nome := EdNome.Text; DataModule8.select(disciplinaAlterar); carregarListView; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Recife Postado Outubro 19, 2008 Denunciar Share Postado Outubro 19, 2008 dvmarinho,especifique melhor o qu você esta querendo, para podermos melhor te ajudar. Tipo, você esta querendo consultar numa query, apenas digitando uma caracterer e já aprecer o resultado?? Ex. no edit digito o caracter "C" e me aparece todos os registros que comecem com "C", após digitar "CA" e assim sucessivamente até chegar no registro desejado.Posta também tudo o seu código afim de podermos analisar. Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DVMarinho Postado Outubro 19, 2008 Autor Denunciar Share Postado Outubro 19, 2008 (editado) e isso mesmo q eu qro, no meu botão de consulta e so apenas aqle codigo e na minha query e esse: procedure tDataModule8.select(disciplina:tDisciplina);begin try Query1.Close; Query1.SQL.Clear(); Query1.SQL.Add('select codigo, nome'); Query1.SQL.Add('from disciplina'); Query1.SQL.Add('where 0 = 0'); If disciplina.nome <> '' Then Query1.SQL.Add('and nome = '+ #39 + disciplina.nome + #39); Query1.SQL.Add('order by nome'); Query1.Open; except raise; end;end; Editado Outubro 19, 2008 por DVMarinho Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 paulobergo Postado Outubro 19, 2008 Denunciar Share Postado Outubro 19, 2008 Olá...Na comparação, deve usar like Dando uma arrumada no seu código:Procedure tDataModule8.select(disciplina:tDisciplina); Var iRegistros: LongInt; Begin With Query1 do Begin Close; SQL.Clear(); SQL.Add('select codigo, nome '); SQL.Add('from disciplina '); if disciplina.nome<>'' then SQL.Add('where nome like "'+disciplina.nome+'%" '); {EndIf disciplina...} SQL.Add('order by nome;'); Try Open; iRegistros := RecordCount; Except SQL.SaveToFile('c:\temp\query_com_erro.sql'); iRegistros := -1; End; Close; End;{With Query1} If iRegistros<0 then ShowMessage('Falha na Query... examine o '+ 'arquivo c:\temp\query_com_erro.sql') Else If iRegistros=0 then ShowMessage('Não há ocorrências da disciplina!') Else If iRegistros=1 then ShowMessage('Existe apenas uma disciplina!') Else ShowMessage('Existem '+IntToStr(iRegistros)+' disciplinas!'); {EndIf iRegistros<0} End;O arquivo gravado em caso de erro permite que você consulte o resultado da query usando, por exemplo, o DBExplorer...Ok? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DVMarinho Postado Outubro 19, 2008 Autor Denunciar Share Postado Outubro 19, 2008 tentei acresentar like no meu codigo mas mesmo assim não pegou da erro de sql.daria pra você colocar um codigo mas simples, meu programa e apenas para armazenar nome das diciplinas no acess, excluir, inserir e consulta.consegui fazer a consulta mas apenas com o nome completo obrigado pela atenção Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 20, 2008 Denunciar Share Postado Outubro 20, 2008 ... meu programa e apenas para armazenar nome das diciplinas no acess, excluir, inserir e consulta.Access, esta é a palavrinha chave!!!DVMarinho, sempre que postar dúvidas relacionadas a banco de dados, informe o banco de dados e componentes de acesso que está utilizanado. ;)Na dica do colega paulobergo, substitua o caraceter "%" pelo "*" (só o Access tem destas coisas...):SQL.Add('where nome like "'+disciplina.nome+'*" ');Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
DVMarinho
eu qria saber como faço para fazer uma consulta parcial usando query, eu consegui fazer apenas colocando o nome todo
disciplinaAlterar.nome := EdNome.Text;
DataModule8.select(disciplinaAlterar);
carregarListView;
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.