Das Dim als Deklaration nur an den Anfang und die RowSets nach Benutzung mit Dispose() freigeben.
Vor der Verwendung der RowSets erstelle ich sie mit
Code: Alles auswählen
createUnoService("com.sun.star.sdb.RowSet")
Das Programm läuft durch, am Speicherverbrauch ändert sich nichts...
Dann noch ein Versuch ohne das globale Datenbank-Objekt
Code: Alles auswählen
db = connect_to_database("Adimens")
...
Sql = "SELECT artikel, name, vbme FROM artikel where artikel = '" & Artikel & "'"
oArtikelRowSet = createUnoService("com.sun.star.sdb.RowSet")
oArtikelRowSet.activeConnection = db
oArtikelRowSet.Command = Sql
oArtikelRowSet.execute
Code: Alles auswählen
Sql = "SELECT artikel, name, vbme FROM artikel where artikel = '" & Artikel & "'"
oArtikelRowSet = createUnoService("com.sun.star.sdb.RowSet")
oArtikelRowSet.DataSourceName = "Adimens"
oArtikelRowSet.Command = Sql
oArtikelRowSet.execute
Ich werde jetzt noch ein paar Tests mit einem Minimalprogramm und verschiedenen Datenbanken (SQL-Server über ODBC soie Base-Datenbank) anstellen, ob hier auch jedesmal der Speicher volläuft...