Autor |
Beitrag |
Miephos
Hält's aus hier
Beiträge: 15
|
Verfasst: Di 11.03.03 23:11
Ich habe mit der Datenbankoberfläche ein paar SQL-Datei erstellen wollen. Schon bei dem Erstellen fuktioniert einiges nicht.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| Select Mitglieder, Personen
From Register
Order By Personen |
Ich habe die Datei genau in dem Verzeichnis gespeichert in dem die Tabelle ist, wenn ich aber auf "SQL-Ausführen" clicke kommt der Fehler "kann Tabelle nicht finden". versteh ich nicht????
Selbst wenn ich die Datei nun habe, wie kann ich die Abfrage starten?? Welchen Code brauche ich damit dies passiert was ich eigentlich in das SQL geschrieben habe.
Newbie-Frage ich weiß, bin aber erst noch beim lernen.
CU Miephos
|
|
infomio
      
Beiträge: 110
Win xy
|
Verfasst: Di 11.03.03 23:41
Erzähl mal: was für ne Datenbank? wie schauts mit deinem Quellcode aus?
welche Komponenten verwendest du?
|
|
infomio
      
Beiträge: 110
Win xy
|
Verfasst: Di 11.03.03 23:46
Titel: sorry
ich habs missverstanden... du arbeitest nur mit der Datenbankoberfläche.
Der Fehler kommt nicht,wenn du einen Eintrag in der BDE hast und dann den Alias auswählst.
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Mi 12.03.03 08:59
Ich nehme mal an, dass Du für Deine Paradox-Datenbank keinen Alias vergeben hast. Deshalb musst Du Dein Script ungefähr so ändern :
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| Select Mitglieder, Personen
From "C:\Test\Register.db"
Order By Personen |
Für C:\Test gibst Du halt Dein Verzeichnis ein, wo Deine DB abgelegt ist.
|
|
kiwicht
      
Beiträge: 1021
Win 7, MacOS
Delphi x, VBA, PHP, ...
|
Verfasst: Mi 12.03.03 09:09
Hallöle..
geht auch anders, ohne Aliase, und ohne das ich jedesmal den kompletten Pfad eingeben muss:
Einfach deiner Query-Eigenschaft "DATABASENAME" das Verzeichnis zuordnen, in dem deine DB liegt (NUR das Verzeichnis -> ExtractFilePath!)
Und dann, in deinen SQL-Anweisungen, reichts wenn du den DB-Namen selber angibst, ohne Endung, also so wie du es hattest:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| 1. Query.DataBaseName := 'C:\Datenbanken';
2. Select Mitglieder, Personen
From Register
Order By Personen
(Register steht in diesem Fallle für deine DB, also register.db!) |
mfg
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Mi 12.03.03 09:11
Miephos hat folgendes geschrieben: | Ich habe mit der Datenbankoberfläche ein paar SQL-Datei erstellen wollen. Schon bei dem Erstellen fuktioniert einiges nicht. |
Kiwicht, hast Du das gelesen ? Er ist noch nicht beim programmieren in Delphi.
Moderiert von Tino: Quote-Tag geschlossen.
|
|
kiwicht
      
Beiträge: 1021
Win 7, MacOS
Delphi x, VBA, PHP, ...
|
Verfasst: Mi 12.03.03 09:16
hm, kennt ihr das berühmte "neiiiiin" von homer? das ist jetzt angebracht...
sorry.. 
|
|
Miephos 
Hält's aus hier
Beiträge: 15
|
Verfasst: Mi 12.03.03 23:13
Ich benutzt die BDE von Borland. Das mit dem Pfad habe ich verstanden, aber was immer noch mein Problem ist, wei ich die abgespeicherten SQL-Dateien nutzen kann.
Ich schreibe ein SQL:
Quelltext 1: 2: 3: 4: 5:
| Select Mitarbeiter, Raum From Kunden |
dies speichere ich unter abfrage1.sql ab, wie kann ich nun die Abfarage in den Quelltext einbinden und abfargen???? So könnte man sich ein kleine Sammlung an SQLDateien anlegen, und so brauche ich sie nur laden, und gut ist.
Cu Miephos
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Do 13.03.03 00:12
_________________ Gruß
Hansa
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Do 13.03.03 07:22
Du musst in Deinem Programm ein TDBgrid, TDatasource, TQuery Komponenten ziehen. Diese drei verknüpft du miteinander und schreibst dann folgenden Code in ein ButonClick rein :
Quelltext 1: 2: 3: 4: 5:
| with query1 do begin Sql.Clear; Sql.LoadFromFile('C:\Abfrage1.Sql'); Open; end; |
So dann wird Deine SQL-Datei ausgeführt und die Daten aus der Tabelle in einen DBGrid angezeigt.
|
|
kiwicht
      
Beiträge: 1021
Win 7, MacOS
Delphi x, VBA, PHP, ...
|
Verfasst: Do 13.03.03 09:34
Gibt es denn auch die Möglichkeit, in einer Datei mehrere SQL-Anweisungen zu speichern, um dann aus diesen eine Auszuwählen?
(Ähnlich dem INI-Prinzip also.)
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Do 13.03.03 09:41
Sowas ist mir jetzt nicht bekannt. Dann musst Du die SQL-Befehle in eine INI-Datei schreiben.
|
|
Miephos 
Hält's aus hier
Beiträge: 15
|
Verfasst: Do 13.03.03 10:29
Damit ist mir doch schon geholfen. vielen Dank.
Cu Miephos
|
|
kiwicht
      
Beiträge: 1021
Win 7, MacOS
Delphi x, VBA, PHP, ...
|
Verfasst: Do 13.03.03 15:36
bis11 hat folgendes geschrieben: | Sowas ist mir jetzt nicht bekannt. Dann musst Du die SQL-Befehle in eine INI-Datei schreiben. |
um darauf nochmal zurückzukommen, ich hoffe das liest jetzt noch einer  .... und zwar klappts mit INI´s doch auch nur über den Umweg mit Variablen, oder?
Hab nämlich folgendes gemacht:
Zitat: | QueryFirmendt.SQL.Text := ini.ReadString('firmendt','unfilter',''); |
und das geht nicht: "Keine SQL-Anweisung gefunden!".
... Vermutung liegt nahe: Muss erst aus der INI-Lesen, in einer Variable speichern und dann dem SQL-Text zuweisen. Das ist aber schon wieder zu umständlich. Kann ich die SQL-Anweisung nicht direkt übergeben, so wie bei SQL.LoadFromFile??
mfg
der kiwicht
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Do 13.03.03 15:44
Da hat er probleme mit der Konvertierung. Was ist wenn Du es vor in eine String-Variable schreibst ?
|
|
kiwicht
      
Beiträge: 1021
Win 7, MacOS
Delphi x, VBA, PHP, ...
|
Verfasst: Do 13.03.03 15:48
jepp, hatt ich gerade probiert... geht auch nicht. Gleiche Fehler. Dann bleib ich wohl erst mal bei der statischen Angelegenheit... Schwamm düber und trotzdem danke... 
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Do 13.03.03 16:16
Probiere mal bitte folgendes aus :
Quelltext 1:
| QueryFirmendt.SQL.Add := ini.ReadString('firmendt','unfilter',''); |
Und auch eventuell falls es nicht funktioniert nochmal mit einer Variable.
|
|
kiwicht
      
Beiträge: 1021
Win 7, MacOS
Delphi x, VBA, PHP, ...
|
Verfasst: Do 13.03.03 19:43
Hi Bis11,
nimms mir nich übel, aber ich glaub das brauch ich nicht ausprobieren, weil muss es, wenn, dann so heißen:
SQL.Add (' ..... ');
bzw
SQL.Text := ('.....');
Oder meintest du Text? Jedenfalls hab ich jetzt alles durch, einmal mit Add, mit Text und mit "Variable davor deklarieren".... geht alles nicht.
Vielleicht liegt es daran, wie die Variablen aus der INI-Datein übernommen werden??
mfg / thx
kiwicht
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Do 13.03.03 20:37
Ganz dickes Sorry, ich habe etwas vergessen
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var ini : TIniFile; begin ini := TIniFile.Create('C:\test.ini'); with ADOQuery1 do begin Sql.Clear; Sql.Add(ini.ReadString('TEST','Test1','')); Sql.SaveToFile('C:\Test.sql'); <--- zum nachkontrollieren ob er es richtig macht Open; <--- siehe Ini-File end; end; |
Meine Test.ini Datei :
Zitat: |
[TEST]
Test1=SELECT * FROM anwendungen;
|
So funktioniert es jetzt, er übergibt richtig die SQL-Anweisung. Ich hatte die Klammern vergessen.
|
|
kiwicht
      
Beiträge: 1021
Win 7, MacOS
Delphi x, VBA, PHP, ...
|
Verfasst: Fr 14.03.03 00:48
np
sieht erstmal vielversprechend aus, werd ich gleich morgen früh probieren, nur eine Frage:
Sql.SaveToFile('C:\Test.sql');
Zum Nachprüfen? Sehe ich das richtig das hier die Ergebnis-Menge gespeichert wird? Wenn ja, wozu dann, da ich die Ergebnis-Menge doch eh im Grid (...) anzeigen lasse?
danke erstma,
mfg
|
|