AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ominöse "not in edit mode"-meldung
Thema durchsuchen
Ansicht
Themen-Optionen

ominöse "not in edit mode"-meldung

Ein Thema von sancho1980 · begonnen am 23. Feb 2006 · letzter Beitrag vom 25. Feb 2006
 
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#1

ominöse "not in edit mode"-meldung

  Alt 23. Feb 2006, 23:14
Datenbank: interbase 6.5 • Zugriff über: ibx, ibexpert
Hi,
bin hier grad am Verzweifeln.
Ich will Daten von einer Datenbank in eine andere konvertieren (ich weiß, das hatten wir schonmal; musste aber meine Datenbankstruktur nochmal ändern).
Ich hab echt schon alles mögliche ausprobiert, zuerst mit TIBTable-Komponenten, dann dacht ich mir, weil ich beim letzten Mal, als es noch funktioniert hatte, TIBDataSets verwendet hatte, versuch ich das nochmal, aber nein.
Mit diesem Code-Snippet versuche ich was in meine Datenbank einzufügen:

Delphi-Quellcode:
function THauptFormular.ConvertAUT: Boolean;
var
  successful: Boolean;
begin
  successful := false;
  Try
    DatenModul.Table_AUT.Active := true;
    DatenModul.Table_AUT.First();
    while not DatenModul.Table_AUT.Eof do
      begin
        DatenModul.IBDataSet_AUT.Open();
        DatenModul.IBDataSet_AUT.Insert();
        DatenModul.IBDataSet_AUTAUT.AsString := DatenModul.Table_AUTAUT.AsString; //hier kommt die Meldung der Error "not in edit mode"
        DatenModul.IBDataSet_AUTVF.AsString := DatenModul.Table_AUTVF.AsString;
        DatenModul.IBDataSet_AUTFUNKTION.AsString := DatenModul.Table_AUTFUNKTION.AsString;
        DatenModul.IBDataSet_AUTFIRMA1.AsString := DatenModul.Table_AUTFIRMA1.AsString;
        DatenModul.IBDataSet_AUTFIRMA2.AsString := DatenModul.Table_AUTFIRMA2.AsString;
        DatenModul.IBDataSet_AUTSTRASSE.AsString := DatenModul.Table_AUTSTRASSE.AsString;
        DatenModul.IBDataSet_AUTPLZ.AsString := DatenModul.Table_AUTPLZ.AsString;
        DatenModul.IBDataSet_AUTORT.AsString := DatenModul.Table_AUTORT.AsString;
        DatenModul.IBDataSet_AUTLAND.AsString := DatenModul.Table_AUTLAND.AsString;
        DatenModul.IBDataSet_AUTTEL.AsString := DatenModul.Table_AUTTEL.AsString;
        DatenModul.IBDataSet_AUTTELPRIV.AsString := DatenModul.Table_AUTTELPRIV.AsString;
        DatenModul.IBDataSet_AUTFAX.AsString := DatenModul.Table_AUTFAX.AsString;
        DatenModul.IBDataSet_AUTANM.AsString := DatenModul.Table_AUTANM.AsString;
        DatenModul.IBDataSet_AUTDATUM.AsDateTime := DatenModul.Table_AUTDATUM.AsDateTime;
        DatenModul.IBDataSet_AUTTYP.AsString := DatenModul.Table_AUTTYP.AsString;
        DatenModul.IBDataSet_AUT.Post();
        DatenModul.IBDataSet_AUT.Next();
        DatenModul.IBDataSet_AUT.Close();
      end;
    successful := true;
  Except
    on E : Exception do
      ShowMessage(E.ClassName+'-Fehler aufgetreten in ConvertAUT mit Nachricht: '+E.Message);
  end;
  if successful then
    ConvertAUT := true
  else
    ConvertAUT := false;
  DatenModul.Table_AUT.Close();
  DatenModul.IBDataSet_AUT.Close();
end;
Ich habe echt schon alles ausprobiert. Auch ein einfügen von DatenModul.IBDataSet_AUT.Edit() bringt nichts. Ich raff's nicht. Ihr vielleicht?

Danke,
Martin


Die Definition meiner Dataset-Komponente ist folgende:

Code:
object IBDataSet_AUT: TIBDataSet
    Database = IBDatabase1
    Transaction = IBTransaction
    BeforeInsert = IBDataSet_AUTBeforeInsert
    DeleteSQL.Strings = (
      'delete from AUT'
      'where'
      ' ID = :OLD_ID')
    InsertSQL.Strings = (
      'insert into AUT'

        ' (ID, AUT, VF, FUNKTION, FIRMA1, FIRMA2, STRASSE, PLZ, ORT, LAN' +
        'D, TEL, '
      '  TELPRIV, FAX, ANM, DATUM, TYP)'
      'values'

        ' (:ID, :AUT, :VF, :FUNKTION, :FIRMA1, :FIRMA2, :STRASSE, :PLZ, ' +
        ':ORT, :LAND, '
      '  :TEL, :TELPRIV, :FAX, :ANM, :DATUM, :TYP)')
    RefreshSQL.Strings = (
      'Select '
      ' ID,'
      ' AUT,'
      ' VF,'
      ' FUNKTION,'
      ' FIRMA1,'
      ' FIRMA2,'
      ' STRASSE,'
      ' PLZ,'
      ' ORT,'
      ' LAND,'
      ' TEL,'
      ' TELPRIV,'
      ' FAX,'
      ' ANM,'
      ' DATUM,'
      ' TYP'
      'from AUT '
      'where'
      ' ID = :ID')
    SelectSQL.Strings = (
      'select * from AUT')
    ModifySQL.Strings = (
      'update AUT'
      'set'
      ' ID = :ID,'
      ' AUT = :AUT,'
      ' VF = :VF,'
      ' FUNKTION = :FUNKTION,'
      ' FIRMA1 = :FIRMA1,'
      ' FIRMA2 = :FIRMA2,'
      ' STRASSE = :STRASSE,'
      ' PLZ = :PLZ,'
      ' ORT = :ORT,'
      ' LAND = :LAND,'
      ' TEL = :TEL,'
      ' TELPRIV = :TELPRIV,'
      ' FAX = :FAX,'
      ' ANM = :ANM,'
      ' DATUM = :DATUM,'
      ' TYP = :TYP'
      'where'
      ' ID = :OLD_ID')
    Left = 312
    Top = 448
    object IBDataSet_AUTID: TIntegerField
      FieldName = 'ID'
      Origin = '"AUT"."ID"'
      ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
      Required = True
    end
    object IBDataSet_AUTAUT: TIBStringField
      FieldName = 'AUT'
      Origin = '"AUT"."AUT"'
      FixedChar = True
      Size = 30
    end
    object IBDataSet_AUTVF: TIBStringField
      FieldName = 'VF'
      Origin = '"AUT"."VF"'
      FixedChar = True
      Size = 150
    end
    object IBDataSet_AUTFUNKTION: TIBStringField
      FieldName = 'FUNKTION'
      Origin = '"AUT"."FUNKTION"'
      FixedChar = True
      Size = 150
    end
    object IBDataSet_AUTFIRMA1: TIBStringField
      FieldName = 'FIRMA1'
      Origin = '"AUT"."FIRMA1"'
      FixedChar = True
      Size = 150
    end
    object IBDataSet_AUTFIRMA2: TIBStringField
      FieldName = 'FIRMA2'
      Origin = '"AUT"."FIRMA2"'
      FixedChar = True
      Size = 150
    end
    object IBDataSet_AUTSTRASSE: TIBStringField
      FieldName = 'STRASSE'
      Origin = '"AUT"."STRASSE"'
      FixedChar = True
      Size = 120
    end
    object IBDataSet_AUTPLZ: TIBStringField
      FieldName = 'PLZ'
      Origin = '"AUT"."PLZ"'
      FixedChar = True
      Size = 30
    end
    object IBDataSet_AUTORT: TIBStringField
      FieldName = 'ORT'
      Origin = '"AUT"."ORT"'
      FixedChar = True
      Size = 120
    end
    object IBDataSet_AUTLAND: TIBStringField
      FieldName = 'LAND'
      Origin = '"AUT"."LAND"'
      FixedChar = True
      Size = 60
    end
    object IBDataSet_AUTTEL: TIBStringField
      FieldName = 'TEL'
      Origin = '"AUT"."TEL"'
      FixedChar = True
      Size = 60
    end
    object IBDataSet_AUTTELPRIV: TIBStringField
      FieldName = 'TELPRIV'
      Origin = '"AUT"."TELPRIV"'
      FixedChar = True
      Size = 60
    end
    object IBDataSet_AUTFAX: TIBStringField
      FieldName = 'FAX'
      Origin = '"AUT"."FAX"'
      FixedChar = True
      Size = 60
    end
    object IBDataSet_AUTANM: TIBStringField
      FieldName = 'ANM'
      Origin = '"AUT"."ANM"'
      FixedChar = True
      Size = 240
    end
    object IBDataSet_AUTDATUM: TDateField
      FieldName = 'DATUM'
      Origin = '"AUT"."DATUM"'
    end
    object IBDataSet_AUTTYP: TIBStringField
      FieldName = 'TYP'
      Origin = '"AUT"."TYP"'
      FixedChar = True
      Size = 3
    end
  end
[edit=MrSpock]Code Tags gesetzt. Mfg, MrSpock[/edit]
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz