Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Neuen Eintrag in Datenbank einfügen per Query (https://www.delphipraxis.net/14514-neuen-eintrag-datenbank-einfuegen-per-query.html)

r_kerber 10. Jan 2004 21:41

Re: Neuen Eintrag in Datenbank einfügen per Query
 
Nö, ich empfehle Dir, Dich mit SQL-Statements zu beschäftigen. Das Problem hängt nicht mit irgendwelchen DB's zusammen sondern mit der Zugriffsschicht. Und die BDE wird eben nicht mehr weiterentwickelt. Und bei ADO bzw. dbExepress geht das mit den Queries nicht mehr. Du kannst zwar Tables verwenden, aber empfehlen würde ich Dir das nicht. Nimm Dir ruhig die Zeit, falls Du sie hast!

Spurius 11. Jan 2004 11:38

Re: Neuen Eintrag in Datenbank einfügen per Query
 
Also wie soll ich dann jetzt vorgehen? Die Dbedits runter von meinem Form und durch normale ersetzen?
Und wie soll ich die BDE umgehen? Ich brauch doch das Query, um die SQL-Statements umzusetzten.

r_kerber 11. Jan 2004 12:42

Re: Neuen Eintrag in Datenbank einfügen per Query
 
Hallo Spurius.

Zu den Edits: genau das wäre mein Vorschlag. Und dann aus den den Inhalten der TEdits ein SQL-Statement zusammenbauen.
Zur BDE: Ich habe nicht gesagt, dass Du jetzt gleich die BDE wegschmeißen sollst. Natürlich kannst Du alternativ ADO oder dbExpress nutzen, dann allerdings nicht mehr mit dBase oder Paradox.
Ich habe Dir davon abgeraten TQuery.Insert zu verwenden. Dafür benötigts Du eine sogenannte aktualisierbare Datennmenge. Bei der BDE-Query gibt es dafür die Eigenschaft RequestLive. Wenn Du diese auf true setzt, kannst Du mit TQuery.Insert arbeiten. Bei TADOQuery bzw. TSQLQuery (dbExpress) gibt es zwar die Methode Insert (da von TDataSet geerbt) aber nicht die Eigenschaft RequestLive. Somit dürfte IMHO das Query.Insert nicht funktionieren. Ob es bei den Table-Komponenten funktioniert, weiß ich nicht. Aber dann kannst Du keine SQL-Statements einsetzen.

Spurius 11. Jan 2004 12:58

Re: Neuen Eintrag in Datenbank einfügen per Query
 
Hallo,
also ich will mir den DBedits und einem DBgrid den aktuellen Datensatz anzeigen und mit den DBedits verändern.
Aber es geht auch nicht mit requestedlive:
Delphi-Quellcode:
 query1.active := false;
 query1.RequestLive := true;
 query1.Insert;
Leider! Gibt es nicht doch eine Möglichkeit, insert zu benutzen?

Sharky 11. Jan 2004 13:04

Re: Neuen Eintrag in Datenbank einfügen per Query
 
Hai Spurius,

was möchtes Du denn nun?

Ändern (Query1.Edit) oder neu anlegen (Query1.Insert).

r_kerber 11. Jan 2004 14:30

Re: Neuen Eintrag in Datenbank einfügen per Query
 
query1.insert geht nur wenn query1.active auf true gesetzt wurde. Und RequestLive würde ich schon zur Design-Zeit setzen. Aber auch wenn ich mich wiederhole, Du befindest Dich so in einer Sackgasse. Wenn Du keinen Zeitdruck hast, dann fang damit doch gar nicht erst an.
BTW: Die Frage von Sharky ist berechtigt. Willst Du vorhandene Daten ändern oder neue Datensätze hinzufügen?

Spurius 11. Jan 2004 14:43

Re: Neuen Eintrag in Datenbank einfügen per Query
 
Ich möchte einen neuen Datensatz erstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 Uhr.
Seite 2 von 2     12   

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