Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank Zugriff Fehler (https://www.delphipraxis.net/142388-datenbank-zugriff-fehler.html)

SaFu 27. Okt 2009 10:15

Datenbank: FB • Version: 2.1 • Zugriff über: FBL

Datenbank Zugriff Fehler
 
Morgen,

nach dem ich hier super Hilfe bekommen habe mit dem "Aufbau" meiner Datenbank, habe ich mich jetzt versucht etwas in die Datenbank reinzuschreiben das folgendermaßen aussieht

Delphi-Quellcode:
procedure TForm1.btn2Click(Sender: TObject);
begin
  FBLTransaction1.StartTransaction;
  FBLDataset1.Open;
  //FBLDataset1.Edit;
  //FBLDataset1.Insert;
  FBLDataset1.FieldByName('PLZ').AsInteger := 99999;
  FBLDataset1.Post;
  FBLTransaction1.Commit;
  FBLDataset1.Close;
leider bekomme ich immer diesen Fehler "Exception der Klasse FBLError mit der Meldung 'Empty query' aufgetreten".

kann mir einer sagen woran das liegt? hab auch schon meinen debugger angeschmissen aber ohne erfolg.

mkinzler 27. Okt 2009 10:18

Re: Datenbank Zugriff Fehler
 
Wie sieht den die Abfrage aus?

SaFu 27. Okt 2009 10:27

Re: Datenbank Zugriff Fehler
 
Ich habe bis jetzt nur versucht was reinzuschreiben

Alfredo 27. Okt 2009 11:10

Re: Datenbank Zugriff Fehler
 
Bevor Du etwas hineinschreiben kannst, musst Du das Dataset erst
einmal anlegen und dazu muss ein SQL-Befehl
im Query stehen oder der SQL-Befehl steht im Programm.

Gruß
Alfred

schlecki 27. Okt 2009 11:18

Re: Datenbank Zugriff Fehler
 
Zitat:

Zitat von fuknersascha
Morgen,

nach dem ich hier super Hilfe bekommen habe mit dem "Aufbau" meiner Datenbank, habe ich mich jetzt versucht etwas in die Datenbank reinzuschreiben das folgendermaßen aussieht

Delphi-Quellcode:
procedure TForm1.btn2Click(Sender: TObject);
begin
  FBLTransaction1.StartTransaction;
  FBLDataset1.Open;
  //FBLDataset1.Edit;
  //FBLDataset1.Insert;
  FBLDataset1.FieldByName('PLZ').AsInteger := 99999;
  FBLDataset1.Post;
  FBLTransaction1.Commit;
  FBLDataset1.Close;
leider bekomme ich immer diesen Fehler "Exception der Klasse FBLError mit der Meldung 'Empty query' aufgetreten".

kann mir einer sagen woran das liegt? hab auch schon meinen debugger angeschmissen aber ohne erfolg.

Scheinbar hat dein FBLDataSet1 kein SQL-Statement, welches ausgeführt werden kann.

Besser wäre es, wenn du hier nicht den Table-Ansatz verwenden würdest, sondern direkt, das passende SQL erzeugst.
Delphi-Quellcode:
  FBLDataSet1.SQL.Text := 'insert into <TABLE> (ID, PLZ) values (:ID, :PLZ)';
  FBLDataSet1.Prepare;

  FBLDataSet1.ParamByName('ID').AsInteger := 1;
  FBLDataSet1.ParamByName('PLZ').AsString := '99999';
  FBLDataSet1.ExecSQL;
Es werden hier auch gleich Parameter verwendet, die das Risiko, dass deine Anwendung per SQL-Injektion gehackt wird, auch gleich verringern, bzw. sogar eliminieren.

SaFu 27. Okt 2009 12:20

Re: Datenbank Zugriff Fehler
 
Doch ein SQL Statment hat es, aber ich denke ich sollte eine andere Komonente benutzen.

Denn damit geht es auch nicht egal wie ich es drehe.

DeddyH 27. Okt 2009 12:44

Re: Datenbank Zugriff Fehler
 
http://www.delphi-treff.de/tutorials...-und-firebird/

SaFu 27. Okt 2009 13:51

Re: Datenbank Zugriff Fehler
 
Danke hab sie mal installiert.

Kann es sein das es da keine Datasource mehr gibt?

DeddyH 27. Okt 2009 13:55

Re: Datenbank Zugriff Fehler
 
IIRC kannst Du eine Standard-Datasource nehmen.

SaFu 27. Okt 2009 16:00

Re: Datenbank Zugriff Fehler
 
Liste der Anhänge anzeigen (Anzahl: 1)
So bin nochmal da.

Ich komm einfach nicht weiter, ich habe mir jetzt die ZEOS mal installiert und auch schon etwas probiert aber ich bekomm es einfach nicht hin mir irgend etwas anzeigen zu lassen.

Ich habe mir auf die Form gelegt eine:

- ZConnection
- ZQuery
- ZTable
- Datasource
- DBGrid

jetzt habe ich alles in der ZConnection wie im Bild anhang eingestellt und die Verbindung schein zu funktionieren aber wie verknüpft man den rest jetzt richtig und muss man noch etwas eingeben, hab schon einiges versucht aber es will einfach nicht.

DeddyH 27. Okt 2009 16:05

Re: Datenbank Zugriff Fehler
 
Bist Du das Tutorial mal durchgegangen? Da gibt es doch ein Beispielprojekt.

SaFu 27. Okt 2009 16:18

Re: Datenbank Zugriff Fehler
 
:thumb: tolle hilfe, das Tutorial kann man sich in Haare schmieren sorry wenn ich das jetzt so sage aber alleine das installieren der ZEOS steht da garnicht drin und alt ist es auch noch (Zitat: "Die ZEOS Library besteht in Version 6.1.5") :roll: .

Das was ich bis jetzt habe, habe ich mir alles hier im Forum zusammen gesucht sowie die Einstellungen, für einen der davon garkeine Ahnung hat wie mich, ist das ding für die Füsse.

Deshalb denke ich ist es nicht zuviel verlangt etwas bessere Hilfe zubekommen als immer wieder auf etwas zu verweisen.

Wenn ich ewig mit FB arbeiten würde, dann würde ich das ganze auch einfacherer sehen. Gibt es den kein besseres Tutorial wo es Schritt für Schritt erklärt und das auch noch aktuell ist?

DeddyH 27. Okt 2009 16:25

Re: Datenbank Zugriff Fehler
 
Zitat:

Zitat von fuknersascha
Deshalb denke ich ist es nicht zuviel verlangt etwas bessere Hilfe zubekommen als immer wieder auf etwas zu verweisen.

Und ich denke, es ist nicht zuviel verlangt, mal selbst tätig zu werden und sich die Dokumentation durchzulesen bzw. die bevorzugte Suchmaschine zu bemühen. In dem pampigen Ton kommen wir jedenfalls nicht weiter.

SaFu 27. Okt 2009 16:33

Re: Datenbank Zugriff Fehler
 
Ich habe die suchmaschine 2 Stunden bedient und auch die Forensuche, dabei bin ich nur auf unzählige gleiche Treads gestoßen weil es eigentlich keine gute erklärung gibt und alle Fragen enden da wo meine warscheinlich auch enden wird.

Alfredo 27. Okt 2009 16:41

Re: Datenbank Zugriff Fehler
 
Gestatte mir folgenden Hinweis:

Den Datenpfad: C:\....
würde ich mir als Programmierer aber mehr als verkneifen.

Die Trennung des Betriebssystems,der Programme und der Daten auf
verschiedenen Partitionen sollte eine Selbverständlichkeit sein.

Ich habe zwischenzeitlich Betriebssystem und sonstiges sogar auf
separaten Festplatten.

So nun konkrete Hinweise:

ZQuery1
- Connection: ZConnection
- Datenbank
SQL: select * from Tabellenname

Dann erst:

Active: True


In Datasourece:

Dataset: ZQuery1

ZTable wird hier nicht gebraucht


Im Grid der Verweis auf Datasource1.

Gestatte mir den Hinweis, dass Du mit Zeos derzeit für professionelle Programmierung
nicht glücklich wirst.

Wenn du den Zeitaufwand rechnest, denn Du schon verbraten hast, dann hättest Du dir
schon die teuerste Komponente kaufen können.

Gruß
Alfred

SaFu 27. Okt 2009 16:56

Re: Datenbank Zugriff Fehler
 
Hi Alfredo,

ich danke dir erstmal für deine Beschreibung jetzt hat es nicht einmal 2 Minuten gedauert und siehe da es funktioniert.

Das die Datnbank unter C liegt ist nur testhalber würde ich in einer richtigen Software anders machen.

Es ist schon traurig das die ZEOS Komponenten hier so angepriesen werden und jeder auf die ZEOS verweist, jeder 3 Post verling auf dieses Sch.... Tutorial des andernen Forums.
Klar zum üben müssten die Zeos wohl langen aber dieses Tutorial ist echt das letzte.

Was will ich mit 2 Querys 2 Sourcen usw wenn es zum üben weniger bedarf.

Deine Beschreibung ist mehr Wert als das ganze Tutorial.


Sorry das ich das so schreiben muss aber es regt mich einfach nur auf.


Welche Komponenten würdest du empfeheln?

Alfredo 27. Okt 2009 17:24

Re: Datenbank Zugriff Fehler
 
Für interne Zwecke kann ich dir SQLDirect empfehlen.
Bitte beachten: Es gibt für jede Delphiversion eine eigene Version.

Es kommt beim Start des Programms ein Hinweis und den klickst Du
einfach weg und dann rennt dein Programm ohne Behinderungen.
Es dauert etwas bis man loslegen kann.

Wenn Du es testen willst, dann melde dich hier und ich geb dir die
notwendige Hilfestellung. Die grauen Haare von mir kannst Du Dir sparen :)

Ich kaufe mir jetzt FIBplus, weil es in diesem Forum einige(Hansa;.....)
gibt die damit arbeiten und Du hast ja gerade selbst gemerkt wie wichtig
es ist, die richtigen Tipps zu bekommen.

Die Komponenten von Devart waren auch ok.

Viel wichtiger als die Datenbankzugriffskomponente ist das Datagrid,
da habe ich mir das Quantumgrid von DevExpress geleistet und bin für
meine Ansprüche(Cursorsteuerung, Editiermöglichkeiten, Zahlendarstellung,
farbige Zeilen) sehr zufrieden. Das ganze Bedarf aber der Einarbeitung,
da das Tool fast zu mächtig ist. Der Support ist jedoch sehr gut.
Es gibt aber leider keine Testversion. Ich bin da ins kalte Wasser
gesprungen. Ausnahmsweise hatte ich da einmal Glück gehabt.
Ich habe mir damit eine sehr komfortable Buchungserfassung mit einem
absoluten Minimum an Aufwand erstellt und dann rechnet sich so eine
Komponete bereits beim ersten Programm.

Gruß
Alfred


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