![]() |
Datenbank: Firebird • Version: 2.1.1 • Zugriff über: IbExpert
Problem mit SQL und FDB
Hallo,
ich möchte einen Wert in meine Tabelle hinzufügen. Bin da voll der der Noob (wie sich rausgestellt hat :-D). Jedefalls habe ich folgenden code:
Delphi-Quellcode:
und ich bekommen folgende Fehlermeldung wenn ich den Button Add geklickt habe:
procedure TFormMain.AddClick(Sender: TObject);
begin FormData.FBLDataset1.SQL.Add('INSERT INTO tabelle (id) VALUES (1)'); FormData.FBLDataset1.Active := True; if ClientDataSet1.Active then ClientDataSet1.Close; ClientDataSet1.Open; end; --------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt holisticwellness.exe ist eine Exception der Klasse EFBLError mit der Meldung 'Dynamic SQL Error SQL error code = -104 Token unknown - line 2, column 1 INSERT' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe --------------------------- Komischerweise funktioniert aber das Anzeigen der Tabelle im TDBGrid einwandfrei mit:
Delphi-Quellcode:
Liegt muss ich vorher etwas einstellen damit ich daten in die Tabelle über ein Programm einfügen kann?
procedure TFormMain.ShowClick(Sender: TObject);
begin FormData.FBLDataset1.SQL.Add('select * from tabelle'); FormData.FBLDataset1.Active := True; if ClientDataSet1.Active then ClientDataSet1.Close; ClientDataSet1.Open; end; Bin da echt voll der Noob! Später will ich das man Text aus einem TDBEdit in eine Tabelle einfügen kann, aber da bin ich noch weit weg von. THX |
Re: Problem mit SQL und FDB
Delphi-Quellcode:
FormData.FBLDataset1.SQL.Text := 'INSERT INTO tablle (id) VALUES (1);';
FormData.FBLDataset1.ExecSQL |
Re: Problem mit SQL und FDB
Er kann ExexSQL nicht finden. ???
[DCC Fehler] MainUnit.pas(62): E2003 Undefinierter Bezeichner: 'ExecSQL' |
Re: Problem mit SQL und FDB
Was für Komponenten verwendest du?
Heisst vielleicht auch .Execute() o.ä. |
Re: Problem mit SQL und FDB
Ich benutze FBLib, und es gibt dort nur ein .ExecuteAction() oder .Edit wie ich sehe. Aber welche TBasicAction soll in die Klammern von der ExecuteAction? Wenn es überhaupt das richtige ist.
|
Re: Problem mit SQL und FDB
Ich hänge immer noch am selben Problem fest, vielleicht war es gestern einfach schon zu spät und jetzt sind ein paar mehr online, zur Mittagspause! :-D
Ich bin schon am überlegen doch die IBX-Komponenten zu verwenden (für FDB unter Firebird 2.1.1) weil ich denke das es dafür mehr tips im web gibt, tips für FBLX gibt es kaum, und mit Zeos habe ich schon probleme beim installieren der packages. Was ist eigentlich mit FBLpX? |
Re: Problem mit SQL und FDB
laut Doku ist diese Komponente ein Nachkömmling von TDataSet und müsste ExecSQL also kennen.
|
Re: Problem mit SQL und FDB
komisch tuts bei mir aber nicht! :wall:
kennst du FIBPlus? ist das vielleicht besser bzw. auch einfacher? |
Re: Problem mit SQL und FDB
Wenn es noch ein bisschen Zeit hat, schaue ich zu Hause mal nach (gegen 18:00).
|
Re: Problem mit SQL und FDB
ja das wäre nicht schlecht, aber ich wurschtel mich gerade durch die seite:
![]() und muss sagen das ich wahrscheinlich doch lieber fibplus nehme? oder ratet ihr davon ab. Sagen wir es so, ich möchte die Datenbank später auf einen Server packen und die soll dann für bis zu 100.000 nutzer gleichzeitig abrufbar sein. Am anfang sind es erst max. 10 aber dannach immer mehr. |
Re: Problem mit SQL und FDB
FIBPlus oder IBDAC
|
Re: Problem mit SQL und FDB
FIBPlus meinte ich
also die datenbank soll dann für mehr und mehr user online zugänglich sein, und einwandfrei funktioniern (zugriffszeit etc.). Bin ich da mit eine .fdb überhaupt gut dabei? oder soll ich lieber MySQL verwenden? |
Re: Problem mit SQL und FDB
Ich würde FireBird MySQL immer vorziehen, allein schon wegen des Lizenzierungsprblems.
Ich verwende IBDAC als Zugrifffskomponenten |
Re: Problem mit SQL und FDB
Also ich sehe gerade sowohl das IBDAC als auch das FIBPlus sind später mit nur mit Lizenzsen nutzbar (kommerziell).
Welche von den beiden ist besser? Oder sind beide gleich gut. |
Re: Problem mit SQL und FDB
Kann man so nicht sagen, welche besser ist. FIBPlus ist wohl etwas schneller. IBDAC sind dafür cachend ( man kann die Verbindung zum Server trennen)
|
Re: Problem mit SQL und FDB
Achso, also das Programm verbindet sich kurz mit dem Server nimmt sich die Werte die es braucht aus der Datenbank und kann dann "offline" weiterarbeiten.
Mit meinem Programm soll man nur Online arbeiten können (also wenn die Datenbank dann später mal auf einen server gepackt wird). |
Re: Problem mit SQL und FDB
Das ist eine Option. Normalerweise arbeitet man natürlich online
|
Re: Problem mit SQL und FDB
Und wieso bevorzugst du IBDAC? Ist es einfacher, weil du sagtest FIBplus ist schneller.
|
Re: Problem mit SQL und FDB
Ich habe mich halt für IBDAC entschieden, kann ich dir gar nicht mehr sagen warum :gruebel:
|
Re: Problem mit SQL und FDB
Zitat:
alex |
Re: Problem mit SQL und FDB
Obwohl FBLib ja wohl nicht mehr zur Debatte steht: TFBLDataset hat wirklich keine Methode ExecSQL (oder die Sichtbarkeit wurde verringert), dafür kann man dann aber ein TFBLParamDsql nehmen.
|
Re: Problem mit SQL und FDB
Hallo...
ist zwar schon ein paar Tage her, aber mir ist folgendes aufgefallen:
Delphi-Quellcode:
...mit jedem Click auf Add fügst du dem SQL String immer das selbe dazu. Spätestens nach dem 2. Mal ist dein SQL String garantiert nicht mehr ein gültiger.
procedure TFormMain.AddClick(Sender: TObject);
begin FormData.FBLDataset1.SQL.Add('INSERT INTO tabelle (id) VALUES (1)'); FormData.FBLDataset1.Active := True; if ClientDataSet1.Active then ClientDataSet1.Close; ClientDataSet1.Open; end; ...ersetze mal SQL.Add durch SQL.Text (ohne Klammern) ...oder davor ein SQL.Clear :hi: [edit] :oops: siehe Post #2 [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz