Announcement

Collapse
No announcement yet.

Dataset Problem

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

  • Dataset Problem

    Hallo ich habe da ein nicht nachvollziebares Problem. Also ich habe eine AdressSuch Maske in der ich in einem Grid alle Adressen anzeigen lasse. Auf der zweiten Maske möchte ich dann alle Details der Adresse anzeigen und wenn gewünscht kann man diese auch verändern. So jetzt mein Probelm. Das ganze funktioniert eigentlich wunderbar, jedoch nur jedes zweite mal. D.h. Wenn ich die ertse Adresse aufrufe, änder und in die Datenbank schreibe klappt das super. Dann mache ich das ganze mit einem beliebigem anderem Datensatz. Das Aufrufen klappt noch, jedoch beim speichern zeigt er mir danach gar nichts mehr an. Also geh ich wieder zur AdressÜbersicht und wähle eine beliebige andere Adresse aus. Jetzt klappt es wieder. Sogesehen klappt es also beim 1,3,5,usw. Ich denke das dann einfach nichts mehr in der DataSource drin steht da er beim speichern nicht in das Event OnApllyChangeRequest von der Datasource springt. Auf der Seite benutze ich DBWebTextBox's um die Felder anzuzeigen, dann noch einen Navigator um zu speichern welcher an die DataSource angebunden ist.<br><br> Kann mir bitte einer helfen???<br>
    procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
    var mySelectCommand : Borland.Data.Provider.BdpCommand;
    begin
    if mySelectCommand = nil then
    mySelectCommand := Borland.Data.Provider.BdpCommand.Create;
    id := request.QueryString['id'].ToString;
    BdpDataAdapter1.Active := False;
    mySelectCommand.CommandText := 'Select *from Adresse where ID = '''+id+'''';
    mySelectCommand.Connection := bdpConnection1;
    BdpDataAdapter1.SelectCommand := mySelectCommand;
    BdpDataAdapter1.Fill(Dataset1);
    if not ispostback then
    DBWebDataSource1.ClearSessionChanges(self);
    BdpDataAdapter1.Active := True;
    end;<br>

  • #2
    Hallo Christian!

    Das von Dir beschriebene Verhalten ist ein Bug in den Borland Data Providern. Ich hatte voriges Jahr zur EKON einen Vortrag zum Oracle-Zugriff gehalten (Delphi 8) und hab bei den Beispielen mit dem selben Problem zu kämpfen gehabt.
    Eine Lösung ist, den Provider nach der Änderung komplett neu zu initialisieren, was bei Dir jetzt automatisch bei jedem zweiten Mal durch die Neuauswahl passiert.

    Gruß Peter Tabat

    Comment


    • #3
      Weiß jemand auch wo und wie ich diese Komponenten neu initialiesieren muss damit es funktioniert. Habe es zwar versucht aber nicht hinbekommen.

      MfG
      Christian Prenzel

      Aber schon mal einen dickes Dankeschön an Peter Tabat

      Comment

      Working...
      X