Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Neue Tabelle erstellen und öffnen (https://www.delphipraxis.net/128990-neue-tabelle-erstellen-und-oeffnen.html)

Thomas F 11. Feb 2009 11:48

Re: Neue Tabelle erstellen und öffnen
 
Hallo Stephan,

es ist tatsächlich so dass der Programmablauf zu schnell ist, und die Tabelle noch gar nicht fertig erstellt ist,
bevor sie auf gerufen wird.
Mit Sleep (2000) funktioniert es,ich hab es mit sleep(1000) probiert,
ist aber zu wenig

Delphi-Quellcode:
unit1.Form1.ADOConnection1.Close;
 Unit1.form1.adotable1.Close;
 unit1.Form1.ADOTable1.TableName:=tabellenname;
 Sleep(2000) ;
 unit1.form1.ADOConnection1.open;
 Unit1.form1.adotable1.open;

HaJo 11. Feb 2009 12:20

Re: Neue Tabelle erstellen und öffnen
 
Nun muß ich Thomas F mal fragen, was das denn soll :-)

In der Regel hat man beim Programmieren von Datenbankanwendungen ein Gerüst der Datenbank schon erstellt, um das herum man seine Anwendung baut.

Sollte es dann doch einmal nötig werden, aus dem Programmablauf eine neue Tabelle zu erstellen, wird diese in der Regel auch mit Daten gefüllt und mit einem Post oder Commit abgeschlossen.
Diese Daten sind dann auch vorhanden!

Ein solches vorgehen sehe ich lediglich bei Exportfunktionen für andere Anwendungen.

Denn:
Aus dem laufenden Programm erzeugten Tabellen, läßt sich aus dem laufenden Programm nun mal kein kein zusätzlicher Quelltext zuordnen, der das arbeiten mit solchen Tabellen intelligent im Programm verewigt.

Was soll das ganze also?

Thomas F 11. Feb 2009 12:29

Re: Neue Tabelle erstellen und öffnen
 
Man kann aus dem Programm heraus eine neue Tabelle öffnen, sodass man mehrere Tabellen in der Datenbank hat,
die Felder der Tabellen sind vorgegeben, und können nicht verändert werden.
Man könnte natürlich auch die vorhandene Tabelle löschen, und die anfallenden Daten neu eintragen.

nahpets 11. Feb 2009 12:35

Re: Neue Tabelle erstellen und öffnen
 
Hallo,
Zitat:

Zitat von HaJo
Nun muß ich Thomas F mal fragen, was das denn soll :-)

In der Regel hat man beim Programmieren von Datenbankanwendungen ein Gerüst der Datenbank schon erstellt, um das herum man seine Anwendung baut.

Sollte es dann doch einmal nötig werden, aus dem Programmablauf eine neue Tabelle zu erstellen, wird diese in der Regel auch mit Daten gefüllt und mit einem Post oder Commit abgeschlossen.
Diese Daten sind dann auch vorhanden!

Ein solches vorgehen sehe ich lediglich bei Exportfunktionen für andere Anwendungen.

Denn:
Aus dem laufenden Programm erzeugten Tabellen, läßt sich aus dem laufenden Programm nun mal kein kein zusätzlicher Quelltext zuordnen, der das arbeiten mit solchen Tabellen intelligent im Programm verewigt.

Was soll das ganze also?

das sehe ich anders.
Für meinen Administrationsjob muss ich aus diversen Systemen Daten sammeln und auswerten. Für die Protokolle des Mailservers gibt es je Tag eine Tabelle, die zur Laufzeit erstellt wird. Der Zugriff erfolgt über Namenskonventionen. Eine einzige Tabelle wäre mir hier zu schnell zu groß. Beim Befüllen der "Tages-Tabellen" werden andere Tabellen mit "Statistikinformationen" gefüllt. Die "Tages-Tabellen" werden sporadisch (nach Zeitablauf) gelöscht. Natürlich könnte man dazu eine Tabelle nehmen und dort zeitabhängig Teilmengen löschen, die Laufzeit der Befüllung und das Löschen der nicht (mehr) benötigten Daten (Drop Table) ist bei der von mir gewählten Verfahrensweise aber deutlich kürzer, als bei einer großen Tabelle.
Ähnlich verfahre ich bei der Auswertung der Ereignislogs der Server. Jeder Server hat "seine" Tabellen. Zugriff erfolgt über eine View. Wenn ein Server wegfällt, lösche ich dessen Tabellen und passe die View an. Tabellen für neue Server werden automatisch erstellt, hier muss ich nur die View anpassen (kommt sehr selten vor). Bisher ist diese Vorgehensweise extrem wartungsarm. (Und wenn ich mal Langeweile habe, bau ich mir noch 'ne Routine, die die View automatisch anpasst. :wink:)

HaJo 11. Feb 2009 13:01

Re: Neue Tabelle erstellen und öffnen
 
ich hab ja Ausnahmen eingeräumt.

Wollte nur zum Ausdruck bringen, das man in der Regel beim programmieren ein Data-Objekt hat, das bestimmte Bearbeitungs-Proceduren und Funktionen enthält, die sich nur sehr schwer vom laufenden Programm her weiterschreiben lassen :-)

globetrotter77 11. Feb 2009 21:13

Re: Neue Tabelle erstellen und öffnen
 
Zitat:

Zitat von HaJo
Denn:
Aus dem laufenden Programm erzeugten Tabellen, läßt sich aus dem laufenden Programm nun mal kein kein zusätzlicher Quelltext zuordnen, der das arbeiten mit solchen Tabellen intelligent im Programm verewigt.

Was soll das ganze also?

Das gibt es sogar sehr häufig!
Gerade in größeren Systemen ist es z.B. immer wieder mal erforderlich, aus dem laufenden Programm heraus temporäre Schnappschüsse eines ganz genau definierten Ausschnitts der Daten zu erstellen, mit denen dann die eigentliche (in der Regel sehr aufwendige) Bearbeitung erfolgen kann, ohne dass sich andere aktive Benutzer einmischen.
Ein völlig normaler Vorgang!

HaJo 11. Feb 2009 23:01

Re: Neue Tabelle erstellen und öffnen
 
Gegen Export-Funktionen sage ich ja nichts. Aber das was Thomas F hier als Problem hinstellt, ist eigentlich keines.

Schreibt man Daten in die Tabelle und die Umgebung ist ok, sollten nach dem abschließendem Close oder Post auch die Daten in der Tabelle stehen!

Aber gerade in Access mal so eben einen fünfzeiler hier als Problem zu schildern ist an der Realität vorbei gedacht :-)
Oder anders gesagt - kein sittlicher Nährwert...

globetrotter77 11. Feb 2009 23:54

Re: Neue Tabelle erstellen und öffnen
 
@HaJo:

natürlich ist das ein Problem ... zumindest für ihn!
für mich auch nicht unbedingt, aber es gibt eben auch ab und zu mal Fragen, die auf nem anderen Niveau trotzdem Riesenprobleme aufwerfen ... ist einfach so!

und wenn jemand so ein aus seiner Sicht riesiges Problem hat, muss man sich entscheiden ... entweder, man liest drüber hinweg oder man gibt nen Tipp oder eine Erklärung, aber bitte auf passendem Niveau.
Und manchmal kann bereits eine ganz banale Lösungsmöglichkeit sehr viel zum besseren Verständnis beitragen, auch wenn sie nicht unbedingt perfekt ist, sondern eben mit kleinen Schrittchen daherkommt.

Es hilft aber meistens in keiner Weise weiter, wenn man hört, welch übergroße Probleme in der ach so rauhen Wirklichkeit tatsächlich noch auf einen warten!

HaJo 12. Feb 2009 00:34

Re: Neue Tabelle erstellen und öffnen
 
@globetrotter77:

Danke für die Ohrfeige auf hohem Niveau - ab ja schon zugegeben das ich Schüler oder eben Anfänger gar nicht auf der Rechnung hatte.

Also nach dem Motto verfahren, es gibt keine dummen Fragen, sondern nur dumme Antworten?

Ich weiß nicht so recht. Auch beim Autofahren gibt es Grundregeln und Strategien die man in der Ausbildung übt damit sie später jedem bekannt sind. Ist diese Prüfung dann geschafft, beginnt das lernen und verfestigen dieser Regeln.

Umgekehrte Vorgehensweise halte ich für nicht sonderlich geschickt. Seh es mir nach

globetrotter77 12. Feb 2009 01:05

Re: Neue Tabelle erstellen und öffnen
 
Zitat:

Zitat von HaJo
Danke für die Ohrfeige auf hohem Niveau

gern geschehen! ... :wink:
Zitat:

Auch beim Autofahren gibt es Grundregeln und Strategien die man in der Ausbildung übt damit sie später jedem bekannt sind. Ist diese Prüfung dann geschafft, beginnt das lernen und verfestigen dieser Regeln.
Da hast du natürlich recht, aber irgendwann beginnt man eben doch etwas dilettantisch, und dann muss der Fahrlehrer auch mal ins Steuer greifen! Und danach auch notfalls nochmal erklären, was er schon 20 x gesagt hatte.
Zitat:

Umgekehrte Vorgehensweise halte ich für nicht sonderlich geschickt. Seh es mir nach
Da gebe ich dir ja auch recht, und wenn hier jemand kommt und meint, er bekommt gleich eine fertige Lösung, ohne selber nachgedacht haben zu müssen, dann ist ihm nicht zu helfen ...
auch dann nicht, wenn's für die Schule ist ... schließlich sollte man dort auch zuerst die vier Grundrechnungsarten kennen, bevor man einen Taschenrechner mit den abenteuerlichsten Lösungsversuchen traktiert.
Aber dumme Fragen sind, denke ich, schon mal erlaubt ... und dumme Fehler auch ... die habe ich selber auch schon zur Genüge gemacht ... ist doch völlig normal!

PS: Bin selbst ja noch nicht lange dabei in diesem Forum und von daher sicher nicht immer der geeignete Kommentator für alles, aber mein persönlicher Eindruck ist bisher durchaus positiv ...
und ich habe das Gefühl, dass auch vom Niveau her eben alles dabei ist, was so denkbar ist ... für jeden etwas eben ... und dann passt's doch, oder nicht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 Uhr.
Seite 2 von 3     12 3      

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 by Thomas Breitkreuz