Einzelnen Beitrag anzeigen

Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
220 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: MyDac Table mit Open und FetchAll

  Alt Heute, 09:25
Es hat etwas mit der Menge der daten zu tun. Wenn ich eine Tabelle mit 6.000 Datensätzen nehme dann kommt keine Fehlermeldung bei Close.

Eine Tabelle mit 500.000 Datensätzen macht Probleme.

Der Testaufbau ist simpel. Ich klicke "Open" dann werden sofort Daten im DBGrid angezeigt.
Wenn ich dann "Close" klicke kommt die Fehlermeldung. Auch wenn ich 10 Sekunden warte.

Delphi-Quellcode:
unit Unit3;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.Grids, Vcl.DBGrids, MemDS,
  DBAccess, MyAccess, Vcl.StdCtrls;

type
  TForm3 = class(TForm)
    btnOpen: TButton;
    MyConnection1: TMyConnection;
    MyTable1: TMyTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    btnClose: TButton;
    cbFetchAll: TCheckBox;
    cobTableNames: TComboBox;
    procedure btnOpenClick(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.btnOpenClick(Sender: TObject);
begin
  MyTable1.TableName := cobTableNames.Text;
  //--
  if NOT cbFetchAll.Checked then
    MyTable1.FetchAll := false;
  //--
  MyTable1.Open;
end;

procedure TForm3.btnCloseClick(Sender: TObject);
begin
  MyTable1.Close;
end;

end.
  Mit Zitat antworten Zitat