AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Abfrageformulierung mit SQL

Ein Thema von Alecto · begonnen am 12. Mär 2006 · letzter Beitrag vom 12. Mär 2006
Antwort Antwort
Alecto

Registriert seit: 28. Jan 2006
7 Beiträge
 
#1

Abfrageformulierung mit SQL

  Alt 12. Mär 2006, 15:56
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Abfrageformulierung mit SQL

  Alt 12. Mär 2006, 15:59
es muß Query1.SQL.Text := Memo1.Lines; heißen.
Markus Kinzler
  Mit Zitat antworten Zitat
Alecto

Registriert seit: 28. Jan 2006
7 Beiträge
 
#3

Re: Abfrageformulierung mit SQL

  Alt 12. Mär 2006, 16:26
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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Abfrageformulierung mit SQL

  Alt 12. Mär 2006, 16:33
Entweder Query1.SQL.Assign( Memo1.Lines); oder Query1.SQL.Text := Memo1.Lines.Text;
Markus Kinzler
  Mit Zitat antworten Zitat
Alecto

Registriert seit: 28. Jan 2006
7 Beiträge
 
#5

Re: Abfrageformulierung mit SQL

  Alt 12. Mär 2006, 16:47
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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Abfrageformulierung mit SQL

  Alt 12. Mär 2006, 16:51
Der Fehler liegt wohl in dem Avfragestring.

Setzte die die Eigenschaft DatabaseName auf das Verzeichnis p:\sql und ändere die Abfrage in
select * from project.dbf; dann sollte es funktionieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Alecto

Registriert seit: 28. Jan 2006
7 Beiträge
 
#7

Re: Abfrageformulierung mit SQL

  Alt 12. Mär 2006, 17:15
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?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Abfrageformulierung mit SQL

  Alt 12. Mär 2006, 17:23
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
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:19 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