Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Parameter (GUID) wird nicht gefüllt (https://www.delphipraxis.net/90676-parameter-guid-wird-nicht-gefuellt.html)

Thanatos81 21. Apr 2007 17:19

Datenbank: Firebird • Version: 2.01 • Zugriff über: UIB

Parameter (GUID) wird nicht gefüllt
 
Hallo zusammen!

Ich sitze gerade am ersten Projekt mit Firebird 2.01 und Zugriff per UIB. Funktioniert soweit eigentlich ganz gut. Nur ein Insert funktioniert nicht.
Im Quelltext unten findet ihr zwei showMessages, das erste zeigt einen korrekten Wert an, das zweite einen leeren String. dm.anbieterInsert ist om Typ TJvUIBQuery. Mein Problem ist halt, dass die GUID nicht in dem Parameter ID landet, dieser aber mein Primär-Index ist. Und ein leerer Primär-Index führt nun mal zu Problemen ;-) Jemand ne Idee, woran es liegen könnte?

Danke im Voraus,
Thomas

Delphi-Quellcode:
var
  GUID: TGUID;
  bemerk: string;
  guids: string;
begin
  screen.Cursor := crHourglass;

  if (trim(leName.Text) <> '') then
    if cbBranche.ItemIndex > -1 then
    begin
      dm.anbieterInsert.Close;

      CreateGUID(guid);
      guids := GUIDToString(guid);

      showMessage(guids);
      dm.anbieterInsert.Params.ByNameAsString['ID'] := guids;
      showMessage(dm.anbieterInsert.Params.ByNameAsString['ID']);

mkinzler 21. Apr 2007 17:22

Re: Parameter (GUID) wird nicht gefüllt
 
Wie sieht dei Abfrage dazu aus?

Thanatos81 21. Apr 2007 17:38

Re: Parameter (GUID) wird nicht gefüllt
 
So: ;-)

SQL-Code:
INSERT INTO T_ANBIETER (ID,
                        NAME,
                        BRANCHE,
                        STRASSE,
                        HAUSNR,
                        PLZ,
                        ORT,
                        TELEFON,
                        MOBILNR,
                        FAXNR,
                        EMAIL,
                        BEMERKUNGEN,
                        ANSPRECH_VORNAME,
                        ANSPRECH_NACHNAME)
  VALUES (:ID,
          :NAME,
          :BRANCHE,
          :STRASSE,
          :HAUSNR,
          :PLZ,
          :ORT,
          :TELEFON,
          :MOBILNR,
          :FAXNR,
          :EMAIL,
          :BEMERKUNGEN,
          :ANSPRECH_VORNAME,
          :ANSPRECH_NACHNAME)
Falls ihr den den Rest der Prozedur auch noch braucht, kann ich den gerne posten, dachte aber das dürfte der wichtige Abschnitt sein und wollte nicht zu viel Unübersichtlichkeit schaffen.

//Edit:
Die Abfrage ist im OI eingetragen, aber laut showMessage(dm.anbieterInsert.SQL.Text) ist sie zu dem Zeitpunkt auch noch da.

mkinzler 21. Apr 2007 17:41

Re: Parameter (GUID) wird nicht gefüllt
 
Was für ein Typ hat das Feld ID und der Parameter ID?

Thanatos81 21. Apr 2007 17:44

Re: Parameter (GUID) wird nicht gefüllt
 
Das Feld ID hat als Typ die Domain D_GUID:
SQL-Code:
CREATE DOMAIN D_GUID AS VARCHAR(38) CHARACTER SET WIN1251;
Der Parameter sollte eigentlich den selben Typ haben, da ich die Parameter nur durch den SQL-Text der jeweiligen Query bestimme.

Bei anderen Inserts, die ebenfalls ein Feld ID vom Typ D_GUID haben, klappt das ganze auch anstandslos.

mkinzler 21. Apr 2007 17:51

Re: Parameter (GUID) wird nicht gefüllt
 
Existieren vielleicht Trigger?

Thanatos81 21. Apr 2007 17:55

Re: Parameter (GUID) wird nicht gefüllt
 
Es gibt in der DB nur einen Trigger der als Before-Insert auf eine andere Tabelle achtet, um AutoIncs zu setzen.

Aufgrund deiner Fragen nehme ich aber mal an, dass du am eigentlichen Delphi-Code auch keine Fehler entdeckst?

mkinzler 21. Apr 2007 17:57

Re: Parameter (GUID) wird nicht gefüllt
 
Ich kenne UIB nicht, aber der Code sieht ja plausibel aus.

Thanatos81 21. Apr 2007 18:18

Re: Parameter (GUID) wird nicht gefüllt
 
Tja, dann werd ich mal heute abend oder morgen vormittag die Setter-Prozedur von Params.ByNameAsString durch steppen und schauen wo er da raushaut... Trotzdem danke für deine Bemühungen!


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