Fórum Consulta SQL retorna em branco #508184
22/01/2015
0
Então tenho uma consulta em 2 tabelas testei no mysql e funciona agora quando coloco no delphi xe4 ela fica em branco. Vou colocar o código abaixo.
with DM.ADOQuery_Lst_Compromissos DO
begin
Close;
SQL.Clear;
SQL.Add('SELECT A.Cod_Agenda_Geral, A.Dia, A.Mes, A.Ano, A.Titulo_Agenda_Geral, A.Tipo_Listagem_Agenda_Geral,');
SQL.Add(' B.Cod_Listage_Compromissos, B.Cod_Agenda_Geral, B.Titulo_Compromisso, B.Desc_Compromisso');
SQL.Add(' FROM agenda_geral A, listagem_compromissos B');
SQL.Add(' WHERE A.Dia=:A1 AND A.Mes=:A2 AND A.Ano=:A3');
Parameters.ParamByName('A1').Value := Dia;
Parameters.ParamByName('A2').Value := Mes;
Parameters.ParamByName('A3').Value := Ano;
Open;
end
consulta que retorna valores certinho no mysql-front:
SELECT A.Cod_Agenda_Geral, A.Dia, A.Mes, A.Ano, A.Titulo_Agenda_Geral, A.Tipo_Listagem_Agenda_Geral, B.Cod_Listage_Compromissos, B.Cod_Agenda_Geral, B.Titulo_Compromisso, B.Desc_Compromisso FROM agenda_geral A, listagem_compromissos B WHERE A.Dia = 22 AND A.Mes = 01 AND A.Ano = 2015
Por favor, onde estou errando???? Obrigado pessoal.
Fabricio Silva
Curtir tópico
+ 0Posts
22/01/2015
Dannicléo Teles
Gostei + 0
22/01/2015
Fabricio Silva
Dia := IntToStr(DayOf(Now));
Ano := IntToStr(YearOf(Now));
Mes := IntToStr(MonthOf(Now));
Gostei + 0
30/01/2015
Fabricio Silva
procedure TForm_Principal.Button3Click(Sender: TObject);
var
marcador_limpar_DBGrid: integer;
Dia, Mes, Ano : String;
begin
marcador_limpar_DBGrid := 1;
Label6.Caption := IntToStr(marcador_limpar_DBGrid);
Dia := Label3.Caption;
Mes := Label4.Caption;
Ano := Label5.Caption;
// ############################################
// ############################################
with DM.ADOQuery_Lst_Compromissos DO
begin
Close;
SQL.Clear;
SQL.Add('SELECT A.Cod_Agenda_Geral, A.Dia, A.Mes, A.Ano, A.Titulo_Agenda_Geral, A.Tipo_Listagem_Agenda_Geral,');
SQL.Add(' B.Cod_Listage_Compromissos, B.Cod_Agenda_Geral, B.Titulo_Compromisso, B.Desc_Compromisso');
SQL.Add(' FROM agenda_geral A, listagem_compromissos B');
SQL.Add(' WHERE A.Dia =:A1');
SQL.Add(' AND A.Mes =:A2');
SQL.Add(' AND A.Ano =:A3 ORDER BY B.Cod_Listage_Compromissos ASC');
Parameters.ParamByName('A1').Value := Dia;
Parameters.ParamByName('A2').Value := Mes;
Parameters.ParamByName('A3').Value := Ano;
Open;
if not DM.ADOQuery_Lst_Compromissos.IsEmpty then
begin
DBGrid_Principal.DataSource := DM.DataSource_Lst_Compromissos;
DBGrid_Principal.Columns[0].FieldName := 'Cod_Listage_Compromissos';
DBGrid_Principal.Columns[1].FieldName := 'Titulo_Compromisso';
end;
end;
// ############################################
// ############################################
end;
Gostei + 0
30/01/2015
Fabricio Silva
Gostei + 0
30/01/2015
Renato Rubinho
Pelo jeito seus campos DIA, MES e ANO são string, certo ?
Tenta informar no parâmetro que o valor que será recebido é string.
Parameters.ParamByName('A1').AsString := Dia;
Parameters.ParamByName('A2').AsString := Mes;
Parameters.ParamByName('A3').AsString := Ano;
Gostei + 0
30/01/2015
Fabricio Silva
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)