AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Abfrage auf Access .mdb
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Abfrage auf Access .mdb

Ein Thema von alphaflight83 · begonnen am 6. Aug 2008 · letzter Beitrag vom 6. Aug 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#11

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 11:40
Ich hoffe doch, wird halt zur Laufzeit definiert, so dass das Programm verschoben werden kann.

Delphi-Quellcode:

DB_Path := ExtractFilePath(ParamStr(0)) + 'DATA';

ADOConnectionStringStandard := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DB_Path +
                                 '\Database.mdb;Persist Security Info=False';

(* ADOTableClients: Definition of 'ConnectionString' and 'Table' *)
with ADOTableClients do begin
  try
    ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DB_Path +
                        '\Database.mdb;Persist Security Info=False';
    TableName := 'Clients';
    Active := True;
  except
   ShowMessage('The database Database.mdb could not be found in the current directory '
                + #10#13 + DB_Path)
  end;
end;

ADOQueryClients. ConnectionString := ADOConnectionStringStandard;
Datasource von ADOQueryClients ist DataSourceClients, die per DataSet wiederum auf ADOTableClients verweist.

Ich suche ja schon ne Weile, von daher kann es fast nur ein kleiner oder besonders dämlicher Fehler sein,
der mir nicht auffällt.
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#12

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 11:45
Zunächst einmal würde ich mir einen Breakpoint auf die Ausführung der Abfrage setzen, um zu prüfen, ob Du überhaupt dort ankommst.
Zitat:
Datasource von ADOQueryClients ist DataSourceClients, die per DataSet wiederum auf ADOTableClients verweist.
Wieso denn das?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#13

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 11:51
Hüstel, dachte das geht so ...
Ist das wohl der Fehler?

Ich wollte eben mit einer Datasource sowohl Query also auch Table abdecken.
Durch diese Verbindung wähnte ich dann alles abgedeckt.
Kann natürlich sein, dass das absoluter Käse ist und ich mal wieder ungenau gelesen habe.
(Gefährliches Halbwissen )
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#14

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 11:54
Nimm mal die Datasource bei der Query raus und setze die Query als Dataset in der Datasource ein (ich hoffe, ich habe das jetzt nicht auch verwechselt ).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#15

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 11:59
Wo/Wie krieg ich denn jetzt meine Tabelle rein?
Ich kann ja nur bei einer Table auch einen tableName vergeben ...
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#16

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 12:12
Wozu brauchst Du den Tablename?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#17

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 12:30
... Stimmt, brauch ich nicht, hab ich in der SQL, schon wieder nur halb gedacht.
... Geht aber trotz allem immer noch nicht.
Recordcount und damit NumberOfClients ist nach wie vor 0

Edit: Kann sein, dass ich bei der Aufrufreihenfolge was verzockt habe ...
Das ganze wird während der FormCreate procedure der MainForm aufgerufen.
Möglich, dass da noch nicht alles initialisiert ist ... Muss das prüfen.
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#18

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 12:51
Hallo,
SQL.Text := 'SELECT ID FROM Clients WHERE Status LIKE :Status '; :Status ist doch ein String, also mach mal Hochkommas drum, könnte sein dass das einzelne Y als irgendwas anderes interpretiert wird.

SQL.Text := 'SELECT ID FROM Clients WHERE Status LIKE ' + QuotedStr('Y')); Was für ein Ergebnis bekommst Du denn ohne die Wherebedingung, dann müsste doch alles kommen, ist dem so, wenn nein, liegt das Problem nicht in der Abfrage.

Wie sieht das Ergebnis aus, wenn Du es nicht aus Delphi heraus absetzt (Access, Datenbankexplorer, ...)?

Stephan
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#19

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 12:59
Quoted String hatte ich zuvor auch schon getestet, hat aber nicht funktioniert.
Hab jetzt auch nochmal die Abfrage um die WHERE Passage erleichtert und es passiert genau ... Nichts.
Das heisst, dass ich als nächstes wirklich erst mal meiner Vermutung nachgehen muss, das beim Aufruf etwas danebenläuft.

Vielen Dank erst mal an alle Beteiligten. Melde mich dann mit der Erfolgsmeldung oder mit weiteren Hilferufen
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: SQL Abfrage auf Access .mdb

  Alt 6. Aug 2008, 13:13
Zitat:
:Status ist doch ein String, also mach mal Hochkommas drum, könnte sein dass das einzelne Y als irgendwas anderes interpretiert wird.
Bei der Verwendung von Parametern sollte man nicht Quoten. Es fehlt wie gesagt der Platzhalter(Joker)
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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