AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Excel ADO - geshwindigkeit ?
Thema durchsuchen
Ansicht
Themen-Optionen

Excel ADO - geshwindigkeit ?

Ein Thema von myicq · begonnen am 27. Sep 2017 · letzter Beitrag vom 1. Okt 2017
 
myicq

Registriert seit: 5. Jan 2016
70 Beiträge
 
Delphi 6 Professional
 
#1

Excel ADO - geshwindigkeit ?

  Alt 27. Sep 2017, 08:40
Datenbank: Excel XLSX • Version: 2010 • Zugriff über: ADO
Ich muss per ADO Excel zugehen.
Ich benutze zzt folgendes, es geht, aber die Geschwindigkeit wird immer weniger als die Tabelle wächst.
Als ob ".Next" immer von vorne sucht ?


Die Ganze Tabelle muss in DbData[i,j] rein. DbData ist eine Array of Array of Widestring.

Delphi-Quellcode:
// for Excel and ODBC
// Number_Records = .RecordCount.
// Headers_Count = number of fields / columns
// DbImportDB is a different form which has connection components.

begin
    for j := 1 to Number_Records - 1 do
    begin
            DBImportDB.DBTable.Next; /// <<<<
           for i := 0 to Headers.Count - 1 do
            begin
                  main.LogFile('Loading field ' + IntToStr(i), 4, TRUE);
                  if DBImportDB.DBTable.Fields.Fields[i]{FindField(Headers[i])}.Text <> 'then
                    DBData[i, j] := DBImportDB.DBTable.Fields.Fields[i].Value
                   else
                    DBData[i, j] := DBImportDB.DBTable.Fields.Fields[i].Text;
          end;
   end;
end;
Für MS ACCESS benutze ich
Delphi-Quellcode:
    dbimportdb.DBTable.Recordset.MoveFirst;
    ....
       Recordset.MoveFirst;
        while not Recordset.eof do
             ....
        
            recordset.MoveNext;
Das ist mehrfach schneller, ABER Excel liest nur data aus 1. Reihe. Allerdings sovielmal wie RecordCount.


Ist "MoveNext" nicht für Excel erlaubt / möglich ?

Und geht es die ganze .UsedRange auf einmal zu lesen, statt Reihe für Reihe ?
  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 09:15 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-2025 by Thomas Breitkreuz