Announcement

Collapse
No announcement yet.

Tabelle "häppchenweise" auslesen

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

  • Tabelle "häppchenweise" auslesen

    Hi

    Ich habe das Problem, dass wenn ich eine Tabelle öffne, die sehr viele Datensätze hat, der speicher vollgepumpt wird (> 1GB), das programm nicht reagiert und dann gibt der Datenpankprovider ein E_FAIL zurück...
    Deshalb möchte ich immer so 1000 datensätze auslesen, sie verarbeiten und dann die nächsten 1000 usw...
    nur wie stell ich das an?
    mfg sv

  • #2
    Warum brauchst du alle?

    Ral

    Comment


    • #3
      weil alle mein programm so ne art datenpumpe is ;>
      es schreibt meinetwegen daten von ner MSSSQL-tabelle in eine ORACLE und dazwischen kann man die daten noch umbasteln lassen usw..

      Comment


      • #4
        dann mußt Du Dir eben 'ne passende Selektion enfallen lassen

        Grüße, Martin Schad

        Comment


        • #5
          ich will es ja unabhängig von der datenbank machen... sonst bräuchte ich kein ado..

          Comment


          • #6
            > ich will es ja unabhängig von der datenbank machen... sonst bräuchte ich kein ado...

            Dafür brauchst Du kein ADO und würde ich auch nicht verwenden. Jede DB sollte möglichst direkt angesprochen werden. MS SQL-Server und Access mit ADO, Oracle über NET8/9/10-Client und MySQL z.B. über libmysql.dll. Durch geeigente Kapslung (z.B. Brigde-Pattern) bekommst mehrere DB's gepacken

            Comment


            • #7
              Hi Sven,

              ADO macht dich nicht datenbankunabhängig. Du sendest damit ja SQL-Statements und die sind eben total datenbankanhängig.
              Sowohl Table als auch Query haben eine MaxRecords property, allerdings muss man da mal prüfen, ob das auch wirklich überall funktioniert, und zweitens musst du ja nach dem ersten Schwung entsprechend nachlesen. Womit wir automatisch bei einer Query und damit bei SQL landen. Um ein selekt zB auf 100 Records zu beschränken, schreibt man beim beim SQL-Server "select TOP 100 * from ..." während das bei MySQL mit LIMIT statt TOP geht und bei Paradox geht's vielleicht gar nicht.
              Genau wie es Martin Schade schon sagte - auf die Selektion kommt es an - das ist das eigentliche Problem, das du zu lösen hast!<br>
              bye, helmu

              Comment

              Working...
              X