TADOTable öffnen, ohne dass daten geladen werden



  • hallo,
    ich hab eine sql-tabelle, der ich datensätze hinzufügen will. da diese tabelle aber viele datensätze enthält (mehrerer mio), will ich verhindern, dass beim öffnen des TADOTable's-objekt die daten (aus der DB) geöaden werden, da ich ja nur neue datzensätze hinzufügen will. (und ausserdem ist das eine langsame netzwerk-verbindung)
    wenn ich einen filter setze (z.b. einen ungültigen, bei den 0 datensätze selektiert werden), werden die daten trotzdem aus der db geladen.
    und einen neuen datensatz mit einer "insert into"-anweisung will ich auch vermeiden, da ich mit dem tabellenobjekt ganz bequem die neu erstellte id bekomme.
    irgendwelche ideen?

    danke



  • INSERT INTO und dann ein Query auf den exakten Inhalt des gerade eingefügten Datensatzes?

    Die Tablekomponente kann dir die neue ID auch nur deshalb so bequem zurückgeben weil sie eben alle Datensätze geladen hat.

    Welches DBMS verwendest du denn? Manche haben wohl eingebaute Möglichkeiten, Autoincrement-IDs zurückzugeben



  • ... und zwar erstelle ich mir nun ein TADOQuery-objekt, dass eine anweisung hat wie z.b.: "select * from TableName where id=0"
    so werden 0 datensätze aus der db geladen (ok, die anweisung braucht auch ne gewisse zeit für die ausführung, aber es werden 0 datensätze selektiert und nicht 10 mio)
    jetzt kann ich mit diesem objekt neue datensätze in der Tabelle[TableName] anlegen (mittels Append(), Post()) und erhalte die neue ID


Anmelden zum Antworten