Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Select Rückgabe (https://www.delphipraxis.net/55756-select-rueckgabe.html)

bjma 26. Okt 2005 12:32

Datenbank: mysql • Version: 4.1 • Zugriff über: mydac

Select Rückgabe
 
Ich übergebe eine neue Abfrage (mysql) mittels add('select * from datei where name='XXX')
danach öffne ich die Query und habe einen selektierten Datenbestand vorliegen. Dies funktioniert tadellos.

sobald ich jedoch die Abfrage neu formuliere und wieder öffne ist kein Datenbestand mehr vorhanden.

D.h. einmal funktiniert dies prima also die Erstabfrage, die Zweitabfrage wird nicht aktualiesiert.

Wer kann helfen.

Jürgen

BeerBear 26. Okt 2005 13:15

Re: Select Rückgabe
 
Das is ja komisch.

Hast du das vorherige Statement denn wieder gelöscht?

Mit SQL.Clear?

Ein bischen Code wäre nicht schlecht.

bjma 26. Okt 2005 15:29

Re: Select Rückgabe
 
hallo hier der code:


ich wechsle bei jedem Aufruf nur die variante "bau_name" aus.
Delphi-Quellcode:
data2.Datei.Active:=false;
with data2.Datei.SQL do
begin
data2.Datei.sql.Clear;
add('select d.bauname,d.baustelle, concat(name,'+chr(39)+' , '+chr(39)+',vorname) as anschrift, m.strasse,m.ort,m.post,d.kundennr, betr1,betr2,bau_strass,bau_ort,Materialek, Materialvk,Mat_auf,Lohnpreis,dmjestd,d.kundennr, maschine,min_ges,lohn_ges,preis');
add('from datei d left join marketin m');
add('using (kundennr)');
add('where d.auftrag='+chr(39)+'J'+chr(39)+' and d.faktura='+chr(39)+'N'+chr(39)+' and bauname Like'+chr(39)+Bau_name+'%'+chr(39));
add('order by d.bauname');
 end;
data2.Datei.active:=true;

dieser Code funktioniert beim erstmaligen Aufruf.Danach ist die Datenmenge leer.

jürgen

[edit=Admin]Code in Delphi-Tags gesetzt. Bitte künftig selber machen, danke. :-) Mfg, Daniel[/edit]

Treffnix 26. Okt 2005 15:39

Re: Select Rückgabe
 
Mit Delph-Tags wirds hübscher ;)

Hast du es mal mit
Delphi-Quellcode:
data2.Datei.Active:=false;
with data2.Datei.SQL do
begin
  Clear;
  //[usw...]
  add('order by d.bauname');
end;
data2.Datei.active:=true;
versucht?

BeerBear 26. Okt 2005 15:49

Re: Select Rückgabe
 
Oder kann es sein, dass "bau_name" beim zweiten Aufruf etwas enthält, was in der Datenbank nicht gefunden werden kann?

bjma 26. Okt 2005 16:26

Re: Select Rückgabe
 
Habe Fehler gefunden.
Die Eingabe des Suchbegriffs hat am Schluß noch ein Leerzeichen produziert. Dadurch lautete der Eintrag 'like Wohl %' richtig wäre 'like Wohl%'.

Was so ein kleines Leerzeichen anrichten kann.

Vielen dank für die tipps.

jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 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