Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Abfrageformulierung mit SQL (https://www.delphipraxis.net/65118-abfrageformulierung-mit-sql.html)

Alecto 12. Mär 2006 15:56


Abfrageformulierung mit SQL
 
Hallo.
Ich muss hier ein SQL-Tutorial mit Delphi bearbeiten, habe aber keine Ahnung, wie ich das umsetzen soll.

Das ist es: http://64.233.179.104/search?q=cache...e&ct=clnk&cd=1

Und zwar soll man nun mit Befehlen wie
Code:
SELECT * 
FROM <Tabelle>
arbeiten, aber ich weiß nicht so recht, wie ich das umsetzen soll.
Was brauche ich dafür und wo muss ich das eingeben? Ganz normal als Source?

Könnte mir es jemand vielleicht anhand eines Beispielcodes erklären, damit ich weiß, wie ich das machen muss?

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.Close;
  Query1.DatabaseName := Edit1.Text;
  Query1.SQL         := Memo1.Lines;
  try
    Query1.Open;
  except
    ShowMessage('Fehler aufgetreten')
 end;
end;

end.
Sowas war mein Ansatz, zusammen mit einem Editfeld, in das man dieses Select * from quelle eingibt, nur leider bekomme ich es nicht zum Laufen.
Mache ich da irgendwas ganz falsch? :\

Sorry, wenn ich das ein wenig komisch erklärt habe, am besten werft ihr einen Blick auf den ersten Teil des Tutorials: http://64.233.179.104/search?q=cache...e&ct=clnk&cd=1

mkinzler 12. Mär 2006 15:59

Re: Abfrageformulierung mit SQL
 
es muß
Delphi-Quellcode:
Query1.SQL.Text := Memo1.Lines;
heißen.

Alecto 12. Mär 2006 16:26

Re: Abfrageformulierung mit SQL
 
Danke, aber das funktioniert leider nicht.
Wenn ich das dann compilieren will, zeigt er mir "Inkompatible Typen: 'String' und 'TStrings' an.

Was kann man dagegen tun?

mkinzler 12. Mär 2006 16:33

Re: Abfrageformulierung mit SQL
 
Entweder
Delphi-Quellcode:
Query1.SQL.Assign( Memo1.Lines);
oder
Delphi-Quellcode:
Query1.SQL.Text := Memo1.Lines.Text;

Alecto 12. Mär 2006 16:47

Re: Abfrageformulierung mit SQL
 
Vielen Dank.
jetzt lässt es sich compilieren, nur die Abfrage meiner dbf-Datei funktioniert immer noch nicht. :\

Ich hab mal die Fehlermeldung geknipst: http://img293.imageshack.us/img293/5739/sql24gh.jpg

Die Oberfläche des Projekts selbst sieht so aus: http://img222.imageshack.us/img222/3...lphisql8qk.jpg

Das Tutorial, nach dem ich das machen musste, war leider nicht so toll, aber ich glaube nicht, dass ich etwas vergessen habe.

Oder liege ich da falsch?

mkinzler 12. Mär 2006 16:51

Re: Abfrageformulierung mit SQL
 
Der Fehler liegt wohl in dem Avfragestring.

Setzte die die Eigenschaft DatabaseName auf das Verzeichnis p:\sql und ändere die Abfrage in
SQL-Code:
select * from project.dbf;
dann sollte es funktionieren.

Alecto 12. Mär 2006 17:15

Re: Abfrageformulierung mit SQL
 
Ok.
ich habe nun den Database-Namen von Table1 und Query1 auf auf p:\sql geändert, aber es wird immer noch derselbe Fehler angezeigt.
War das falsch, also beide Database-Namen so zu ändern?

marabu 12. Mär 2006 17:23

Re: Abfrageformulierung mit SQL
 
Von Table1 war doch eigentlich nie die Rede?

Vorausgesetzt es gibt eine Datei PROJEKT.DBF im Verzeichnis P:\SQL, dann funktioniert das hier:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Query1 do
  begin
    DatabaseName := Edit1.Text;  // 'P:\SQL'
    SQL.Text := Memo1.Lines.Text; // 'select * from projekt'
    try
      Open;
      Last;
      ShowMessage(Format('%d Datensätze', [RecordCount]));
      Close;
    except
      on E: Exception do
        ShowMessage(E.Message)
    end;
  end;
end;
Bei dBase-Tabellen versteht man unter DatabaseName das Verzeichnis, in dem die Tabellen abgelegt sind.

Grüße vom marabu


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