Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi InsertSQL (https://www.delphipraxis.net/88300-insertsql.html)

fapsons 13. Mär 2007 13:02

Datenbank: Firebird • Version: 2.0 • Zugriff über: InterBase - TDataSet

InsertSQL
 
Hallo Leute,

will mit folgender Procedure einen Datensatz in die Datenbank hinzufügen. Irgendwie tut sich nur beim Ausführen der Procedure nichts. Erhalte auch keine Fehlermeldung seitens Delphi.

Könnt ihr mir da weiterhelfen?


Gruß,
-fapsons---


Delphi-Quellcode:
procedure Add_New_Terminal(typ, Bez, Beschr :String);
begin
 with D_DataModule.DataSet do
 begin
   InsertSQL.Clear;
   InsertSQL.Text := 'INSERT INTO terminal (TYP, BEZEICHNUNG, BESCHREIBUNG) VALUES (''' + typ + ''',''' + Bez + ''',''' + Beschr + ''')';
   Open;
   Insert;
   Close;
 end;
end;

mkinzler 13. Mär 2007 13:05

Re: InsertSQL
 
Delphi-Quellcode:
   [s]InsertSQL.Clear;[/s]
   InsertSQL.Text := 'INSERT INTO terminal (TYP, BEZEICHNUNG, BESCHREIBUNG) VALUES (''' + typ + ''',''' + Bez + ''',''' + Beschr + ''')';
   Open;
   Insert;
   Post;
   Close;

fapsons 13. Mär 2007 13:33

Re: InsertSQL
 
Super, vielen Dank!

Das einzige, was jetzt noch nicht funzt ist, wenn ich einen Datensatz lösche und dann wieder einen neuen hinzufügen will, sagt er mir, dass keine Primary-ID vergeben werden konnte.

Eine Ahnung, woran es liegen kann?
Wenn ich das Programm dazwischen neustarte, gibt es keine Probleme. Sieht irgendwie so aus, als würde ich die Datenbankverbindung nicht korrekt beenden.

Aber führe immer die Close-Anweisung aus. Gibt es noch eine andere?

mkinzler 13. Mär 2007 13:47

Re: InsertSQL
 
Wie heißt den der Primärschlüssel? Wie vergibst du ihn (Generator? Trigger?)

fapsons 13. Mär 2007 14:10

Re: InsertSQL
 
Mit diesem Trigger:

SQL-Code:
AS
BEGIN
  IF (NEW.TMID IS NULL) THEN
    NEW.TMID = GEN_ID(GEN_TERMINAL_ID,1);
END

mkinzler 13. Mär 2007 14:37

Re: InsertSQL
 
Wie sind den die Transkationseinstellungen?

fapsons 13. Mär 2007 14:46

Re: InsertSQL
 
Meinst du die Eigenschaften von TTransaction?

mkinzler 13. Mär 2007 14:51

Re: InsertSQL
 
Ja.

fapsons 13. Mär 2007 15:25

Re: InsertSQL
 
Transaction:

Active := false;
AutoStopAction := saNone;
DefaultAction := TACommit;

mkinzler 13. Mär 2007 15:59

Re: InsertSQL
 
Aktiviere sie mal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.
Seite 1 von 2  1 2      

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