Announcement

Collapse
No announcement yet.

Seltsames verhalten von TIBDataSet

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Seltsames verhalten von TIBDataSet

    Hallo,
    <p>ich habe eine IB(6 Dialect 3) Tabelle die einen Primärschlüsselwert über Trigger (BEFORE INSERT POSITION 0) mit Hilfe eines Generators bekommt.</p>
    <pre>
    IF (NEW.DESCRIPTION_ID IS NULL) THEN
    NEW.DESCRIPTION_ID = GEN_ID(GEN_TDESCRIPTION_ID,1);</pre>
    <p>
    Jetzt ist mir aufgefallen das der Generator immer noch auf Null steht, obwohl der Inkrementelle PK korrekt erhöht wird.
    </p>
    <p>
    Der DB Zugriff erfolgt über IBX 5,04; TIBDataSet; TIBGeneratorApplyEvent = (gamOnPost);</p>
    <p>
    Die Inkrementierung verhält sich wie (Select max(ID) from Table + 1), lösche ich einen Wert wird der nächste Wert der des Vorgängers.</p>
    <p>
    Interessanterweise verwende ich die gleiche TIBDataSet Einstellung auch mit anderen Tabellen (gleicher Aufbau) und dort wird der Generator korrekt Inkrementiert.</p>
    <p>Anzahl der Generatoren ist 17</p>
    <b>DFM</b>
    <pre>
    object Description: TIBDataSet
    Database = IBDB
    Transaction = IBTA
    ForcedRefresh = True
    AfterDelete = CommitAfterDelete
    AfterPost = CommitAfterPost
    OnDeleteError = OnDeleteError
    OnNewRecord = DescriptionNewRecord
    OnPostError = OnPostError
    OnUpdateError = OnUpdateError
    BufferChunks = 1000
    CachedUpdates = False
    DeleteSQL.Strings = (
    'delete from "TDESCRIPTION"'
    'where'
    ' "TDESCRIPTION"."DESCRIPTION_ID" = :"OLD_DESCRIPTION_ID"')
    InsertSQL.Strings = (
    'insert into "TDESCRIPTION"'
    ' ("TDESCRIPTION"."DESCRIPTION_ID", "TDESCRIPTION"."PARENT", '
    '"TDESCRIPTION"."FOLDER", '
    ' "TDESCRIPTION"."DESCRIPTION", "TDESCRIPTION"."SHOW_IN_WEB")'
    'values'
    ' (:"DESCRIPTION_ID", :"PARENT", :"FOLDER", :"DESCRIPTION", '
    ':"SHOW_IN_WEB")')
    RefreshSQL.Strings = (
    'Select '
    ' "TDESCRIPTION"."DESCRIPTION_ID",'
    ' "TDESCRIPTION"."PARENT",'
    ' "TDESCRIPTION"."FOLDER",'
    ' "TDESCRIPTION"."DESCRIPTION",'
    ' "TDESCRIPTION"."SHOW_IN_WEB"'
    'from "TDESCRIPTION" '
    'where'
    ' "TDESCRIPTION"."DESCRIPTION_ID" = :"DESCRIPTION_ID"')
    SelectSQL.Strings = (
    'select * from "TDESCRIPTION"')
    ModifySQL.Strings = (
    'update "TDESCRIPTION"'
    'set'
    ' "TDESCRIPTION"."DESCRIPTION_ID" = :"DESCRIPTION_ID",'
    ' "TDESCRIPTION"."PARENT" = :"PARENT",'
    ' "TDESCRIPTION"."FOLDER" = :"FOLDER",'
    ' "TDESCRIPTION"."DESCRIPTION" = :"DESCRIPTION",'
    ' "TDESCRIPTION"."SHOW_IN_WEB" = :"SHOW_IN_WEB"'
    'where'
    ' "TDESCRIPTION"."DESCRIPTION_ID" = :"OLD_DESCRIPTION_ID"')
    GeneratorField.Field = 'DESCRIPTION_ID'
    GeneratorField.Generator = 'GEN_TDESCRIPTION_ID'
    GeneratorField.ApplyEvent = gamOnPost
    Left = 224
    Top = 136
    object DescriptionDESCRIPTION_ID: TIntegerField
    FieldName = 'DESCRIPTION_ID'
    Origin = 'TDESCRIPTION.DESCRIPTION_ID'
    Required = True
    end
    object DescriptionPARENT: TIntegerField
    FieldName = 'PARENT'
    Origin = 'TDESCRIPTION.PARENT'
    Required = True
    end
    object DescriptionFOLDER: TIBStringField
    FieldName = 'FOLDER'
    Origin = 'TDESCRIPTION.FOLDER'
    Required = True
    Size = 50
    end
    object DescriptionDESCRIPTION: TMemoField
    FieldName = 'DESCRIPTION'
    Origin = 'TDESCRIPTION.DESCRIPTION'
    BlobType = ftMemo
    Size = 8
    end
    object DescriptionSHOW_IN_WEB: TIBStringField
    FieldName = 'SHOW_IN_WEB'
    Origin = '"TDESCRIPTION"."SHOW_IN_WEB"'
    FixedChar = True
    Size = 1
    end
    end
    <pre>
    Gruß Andreas
Working...
X