Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL Abfrage liefert in Delphi keine Ergebnisse in DB-Browser aber schon (https://www.delphipraxis.net/210447-sql-abfrage-liefert-delphi-keine-ergebnisse-db-browser-aber-schon.html)

Wiener 27. Apr 2022 13:22

Datenbank: Sqlite • Version: 3 • Zugriff über: TFDQuery

SQL Abfrage liefert in Delphi keine Ergebnisse in DB-Browser aber schon
 
Hallo Leute,

habe folgendes Problem bei dem ich absolut anstehe:

Ich mache in einer Procedure 2 Sql Abfragen. Bei der ersten bekomme ich die Ergebnisse geliefert - aber bei der 2 bekomme ich nichts retour.
Das komische dabei ist, dass wenn ich die 2 Abfrage in einen DB-Browser (z.B. HeidiSQL) eingebe bekomme ich die Ergebnisse.
Delphi-Quellcode:
procedure TForm1.Grid1SelChanged(Sender: TObject);
begin
  DataModule1.FDConnection1.Connected:= true;

  // Abfrage Tel.Nr. welche die Versicherer liefern.
  with DataModule1.FDQuery_TelNr do
  begin
    SQL.Clear;
    SQL.Text:=SqlAbfragen.Sql_Text('TelNrVersicherung');
    ParamByName('PNR').AsString := FDQueryPerson.FieldByName('Personennr').AsString;
    Open;
  end;

  Edit_Person_privat_Vers.Text:= DataModule1.FDQuery_TelNr.FieldByName('PT').AsString;
  Edit_Person_email_Vers.Text:=  DataModule1.FDQuery_TelNr.FieldByName('PE').AsString;
  Edit_Person_handy_Vers.Text:=  DataModule1.FDQuery_TelNr.FieldByName('MT').AsString;
  Edit_Person_fax_Vers.Text:=    DataModule1.FDQuery_TelNr.FieldByName('GF').AsString;
  Edit_Person_arbeit_Vers.Text:= DataModule1.FDQuery_TelNr.FieldByName('GT').AsString;
  Edit_Person_url_Vers.Text:=    DataModule1.FDQuery_TelNr.FieldByName('GW').AsString;

  // Abfrage Tel.Nr. welche der Betreuer selbst eingegeben hat.
  with DataModule1.FDQuery_TelNr do
  begin
    SQL.Clear;
//    SQL.Text:=SqlAbfragen.Sql_Text('TelNrMakler');
//    ParamByName('PNR').AsString := FDQueryPerson.FieldByName('Personennr').AsString;
    sql.Text:= 'SELECT Mobil AS MT FROM KONTAKTPERSON WHERE Personnr LIKE ''%11%''' ;
    Open;
  end;

  ShowMessage(DataModule1.FDQuery_TelNr.SQL.GetText + ' Count: '+ IntToStr(DataModule1.FDQuery_TelNr.RecordCount));

//  Edit_Person_privat_Makler.Text:= DataModule1.FDQuery_TelNr_Makler.FieldByName('PT').AsString;
//  Edit_Person_email_Makler.Text:=  DataModule1.FDQuery_TelNr_Makler.FieldByName('PE').AsString;
  Edit_Person_handy_Makler.Text:=  DataModule1.FDQuery_TelNr.FieldByName('MT').AsString;
//  Edit_Person_fax_Makler.Text:=    DataModule1.FDQuery_TelNr_Makler.FieldByName('GF').AsString;
//  Edit_Person_Arbeit_Makler.Text:= DataModule1.FDQuery_TelNr_Makler.FieldByName('GT').AsString;
//  Edit_Person_url_Makler.Text:=    DataModule1.FDQuery_TelNr_Makler.FieldByName('GW').AsString;
end;
Hat wer eine Idee warum es im DB-Browser klappt aber über Delphi nicht??

Delphi.Narium 27. Apr 2022 17:41

AW: SQL Abfrage liefert in Delphi keine Ergebnisse in DB-Browser aber schon
 
Welche Fehlermeldung gibt es? (Oder gibt es keine Fehlermeldung?)

Nach der ersten Abfrage würd' ich ein Close machen, bevor ich die Komponente für die zweite Abfrage verwende.

Was ergibt denn DataModule1.FDQuery_TelNr.RecordCount? 0 oder eine Zahl, aber das Feld MT enthält nichts? Oder ...?

Wird ShowMessage überhaupt angezeigt?

Ein ungetesteter Versuch:
Delphi-Quellcode:
procedure TForm1.Grid1SelChanged(Sender: TObject);
begin
  DataModule1.FDConnection1.Connected := true;

  // Abfrage Tel.Nr. welche die Versicherer liefern.
  DataModule1.FDQuery_TelNr.SQL.Clear;
  DataModule1.FDQuery_TelNr.SQL.Text := SqlAbfragen.Sql_Text('TelNrVersicherung');
  DataModule1.FDQuery_TelNr.ParamByName('PNR').AsString := FDQueryPerson.FieldByName('Personennr').AsString;
  DataModule1.FDQuery_TelNr.Open;

  Edit_Person_privat_Vers.Text := DataModule1.FDQuery_TelNr.FieldByName('PT').AsString;
  Edit_Person_email_Vers.Text := DataModule1.FDQuery_TelNr.FieldByName('PE').AsString;
  Edit_Person_handy_Vers.Text := DataModule1.FDQuery_TelNr.FieldByName('MT').AsString;
  Edit_Person_fax_Vers.Text   := DataModule1.FDQuery_TelNr.FieldByName('GF').AsString;
  Edit_Person_arbeit_Vers.Text := DataModule1.FDQuery_TelNr.FieldByName('GT').AsString;
  Edit_Person_url_Vers.Text   := DataModule1.FDQuery_TelNr.FieldByName('GW').AsString;

  DataModule1.FDQuery_TelNr.Close;

  // Abfrage Tel.Nr. welche der Betreuer selbst eingegeben hat.
  DataModule1.FDQuery_TelNr.SQL.Clear;
  // DataModule1.FDQuery_TelNr.SQL.Text := SqlAbfragen.Sql_Text('TelNrMakler');
  // DataModule1.FDQuery_TelNr.ParamByName('PNR').AsString := FDQueryPerson.FieldByName('Personennr').AsString;
  DataModule1.FDQuery_TelNr.sql.Text := 'SELECT Mobil AS MT FROM KONTAKTPERSON WHERE Personnr LIKE :PNR ';
  DataModule1.FDQuery_TelNr.ParamByName('PNR').AsString := '%11%';
  DataModule1.FDQuery_TelNr.Open;

  ShowMessage(DataModule1.FDQuery_TelNr.SQL.GetText + ' Count: ' + IntToStr(DataModule1.FDQuery_TelNr.RecordCount));

  // Edit_Person_privat_Makler.Text := DataModule1.FDQuery_TelNr_Makler.FieldByName('PT').AsString;
  // Edit_Person_email_Makler.Text := DataModule1.FDQuery_TelNr_Makler.FieldByName('PE').AsString;
  Edit_Person_handy_Makler.Text := DataModule1.FDQuery_TelNr.FieldByName('MT').AsString;
  // Edit_Person_fax_Makler.Text   := DataModule1.FDQuery_TelNr_Makler.FieldByName('GF').AsString;
  // Edit_Person_Arbeit_Makler.Text := DataModule1.FDQuery_TelNr_Makler.FieldByName('GT').AsString;
  // Edit_Person_url_Makler.Text   := DataModule1.FDQuery_TelNr_Makler.FieldByName('GW').AsString;
  DataModule1.FDQuery_TelNr.Close;
end;

Wiener 28. Apr 2022 10:04

AW: SQL Abfrage liefert in Delphi keine Ergebnisse in DB-Browser aber schon
 
Sorry hab den Thread 2 angelegt.
Ist schon erledigt - hatte noch eine alte DB im Debugger Ordner liegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz