Einzelnen Beitrag anzeigen

mapolat

Registriert seit: 1. Mär 2005
Ort: Wuppertal
4 Beiträge
 
#5

Re: Probleme mit .edit und .post auf eine mySQL Tabelle

  Alt 1. Mär 2005, 12:08
Hi Kiar,

Dies habe ich auch versucht. Auch bei dem Versuch gab es nach der 1. Wertzuweisung Fehler. Komischerweise wird der 1. Wert angenommen dann springt die TabellenStatus auf dsBrowse.
Villeicht ein paar Details mehr :

Zunächst hier die mySQLDB Tabellen-Struktur:
  • Tabelle_1
    REC_NR primärindex, autoinkrement, integer;
    NAME varchar(50)

    Tabelle_2
    REC_NR primärindex, autoinkrement, integer;
    TABELLE_1_REC_NR integer;
    SUMME_1 decimal
    SUMME_2 decimal
    SUMME_3 decimal

    Tabelle_3
    REC_NR primärindex, autoinkrement, integer;
    TABELLE_2_REC_NR integer;
    ZAHL_1 decimal
    ZAHL_2 decimal
    ZAHL_3 decimal
Dann hier die Tabellen-Eigenschaften:

Delphi-Quellcode:
object Tabelle_1: TZTable
  Connection = mySQLDB
  CachedUpdates = False
  Active = True
  ReadOnly = False
  TableName = 'Tabelle_1'
  ShowRecordTypes = [usUnmodified, usModified, usInserted]
  UpdateMode = umUpdateChanged
  WhereMode = wmWhereKeyOnly
  Options = [doCalcDefaults]
  Left = 336
  Top = 65532
  object Tabelle_1REC_NR: TIntegerField
    FieldName = 'REC_NR'
  end
  object Tabelle_1NAME: TStringField
    DisplayLabel = 'Name'
    FieldName = 'NAME'
    Size = 50
  end
end

object Tabelle_2: TZTable
  Connection = mySQLDB
  CachedUpdates = False
  Active = True
  ReadOnly = False
  TableName = 'Tabelle_2'
  ShowRecordTypes = [usUnmodified, usModified, usInserted]
  MasterFields = 'REC_NR'
  MasterSource = D_Tabelle_1
  IndexFieldNames = 'TABELLE_1_REC_NR'
  UpdateMode = umUpdateChanged
  WhereMode = wmWhereKeyOnly
  Options = [doCalcDefaults]
  Left = 284
  Top = 65532
  object Tabelle_2REC_NR: TIntegerField
    FieldName = 'REC_NR'
  end
  object Tabelle_2TABELLE_1_REC_NR: TIntegerField
    FieldName = 'TABELLE_1_REC_NR'
    LookupDataSet = Tabelle_1
    LookupKeyFields = 'REC_NR'
    LookupResultField = 'NAME'
    KeyFields = 'TABELLE_1_REC_NR'
  end
  object Tabelle_2SUMME_1: TFloatField
    DisplayLabel = 'Summe_1'
    FieldName = 'SUMME_1'
    DisplayFormat = '#0.00'
  end
  object Tabelle_2SUMME_2: TFloatField
    DisplayLabel = 'Summe_2'
    FieldName = 'SUMME_2'
    DisplayFormat = '#0.00'
  end
  object Tabelle_2SUMME_3: TFloatField
    DisplayLabel = 'Summe_3'
    FieldName = 'SUMME_3'
    DisplayFormat = '#0.00'
  end
end

object Tabelle_3: TZTable
  Connection = mySQLDB
  CachedUpdates = False
  AfterPost = Tabelle_3AfterPost
  Active = True
  ReadOnly = False
  TableName = 'Tabelle_3'
  ShowRecordTypes = [usUnmodified, usModified, usInserted]
  MasterFields = 'REC_NR'
  MasterSource = D_Tabelle_2
  IndexFieldNames = 'TABELLE2_REC_NR'
  UpdateMode = umUpdateChanged
  WhereMode = wmWhereKeyOnly
  Options = [doCalcDefaults]
  Left = 456
  Top = 65532
  object Tabelle_3ZAHL_1: TFloatField
    DefaultExpression = '0.00'
    FieldName = 'ZAHL_1'
    DisplayFormat = '#0.00'
  end
  object Tabelle_3ZAHL_2: TFloatField
    DefaultExpression = '0.00'
    FieldName = 'ZAHL_2'
    DisplayFormat = '#0.00'
  end
  object Tabelle_3ZAHL_3: TFloatField
    DefaultExpression = '0.00'
    FieldName = 'ZAHL_3'
    DisplayFormat = '#0.00'
  end
end
Einziger Index ist jeweils REC_NR und wird beim TabellenVerknüpfung (Master.Eigenschaft) benutzt aber sonst im Programm nicht verwendet.
  Mit Zitat antworten Zitat