Pessoal, estou desenvolvendo um projeto em Delphi 7 Enterprise, e estou montando um código pra ordenar a dbgrid pela coluna que o usuário clicar, estou usando um adoquery, e supondo que o conteúdo da sql seja: SELECT * FROM PRODUTOS. Nao retorna erro algum, só que a dbgrid fica vazia, não aparece nada, já dei um showmessage na propriedade sql do adoquery pra ver se estava montando a consulta corretamente, e está, mas não está retornando nenhum resultado.
Dá uma olhada no código, é simples, não é muito prático, mas eu fiz dessa maneira, por ser mais simples, não preciso de muitas validações! o código é o seguinte: procedure Tfrmconsproduto.DBGrid1TitleClick(Column: TColumn); var campo:string; cons:string; begin cons:=qconsulta.sql.Text;//recebe o sql do adoquery, da consulta feita campo:=column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA, application.processmessages; // para considerar algo que aconteça no dbgrid qconsulta.sql.clear; // LIMPA A QUERY qconsulta.sql.add(cons+' order by '+campo); // ESCREVE O SELECT COM O ORDER BY qconsulta.open; // ABRE A QUERY COM A ORDEM ESCOLHIDA. lblordenado.caption:='Classificado por : [ '+Column.Title.Caption+' ]';//escreve na label por qual coluna foi ordenado qconsulta.SQL.text:=cons;//Retorna pro sql a consulta sem o order by end; o que pode ser??? Abraços galera