![]() |
Datenbank: MS Access • Version: 2003 • Zugriff über: ODBC
Datenmanipulation (ODBC/Access)
Hi,
ich soll eine Applikation schreiben, die Daten aus einer (noch) lokalliegenden Access Datenbank auslesen und manipulieren können sollte. Im FormCreate verbinde ich mit der Datenbank, was auch klappt. Auch habe ich über ein SQLQuery und einem DataSource Tabellen/Tabellenspalten in eine DBGrid ausgeben lassen können. Mein Problem ist jetzt: Wie kann ich Daten manipulieren (DELETE, INSERT INTO, UPDATE,..)? Bzw besser, welche Schritte sind zu tun, das diese Queries auch umgesetzt werden? In der Quelldatenbank, nicht nur im DBGrid. Ich verstehe da den Zusammenhang noch nicht ganz. Was auch nicht geklappt hat, war eine Systemtabelle anzuzeigen :/ Struktur: ODBCConnection1 --> SQLTransaction1 ODBCConnection1 --> SQLQuery1 --> DataSource1 --> DBGrid1 Quasi müssten die Informationen, die im DataSource (durch Query gespeist) sind, an die Datenbak gesendet werden. Sicherlich über die SQLTransaction. Aber wie? Mein Code bisher:
Delphi-Quellcode:
Grüße
//Benutzer-DSN Name
ODBCConnection1.DatabaseName:='test1'; //wichtig für Queries SQLQuery1.UsePrimaryKeyAsKey:=false; SQLQuery1.Active:=true; //Connect ODBCConnection1.Connected:=true; |
Re: Datenmanipulation (ODBC/Access)
Zitat:
Delphi-Quellcode:
EDIT: funktioniert natürlich auch mit update, insert usw.
sqlQuery1.sql.clear;
sqlQuery1.sql.add('select blabla ' ); gruss KH [edit=mkinzler]Fehlende Tags ergänzt Mfg, mkinzler[/edit] |
Re: Datenmanipulation (ODBC/Access)
Normalerweise macht man das mit:
Zitat:
Dein Satz: Zitat:
Das was Du da beschreibst sind keine Queries(Fragen) sondern ausführbare Statements(Befehle) die im Verbund mit entsprechenden Daten an jede Datenquelle gesandt werden können. Die würden dann abgeschlossen mit: Zitat:
|
Re: Datenmanipulation (ODBC/Access)
@Hajo:
Ich arbeite das erste mal mit einer Datenbank. Die Theorie hatte ich in der Vorlesung, was aber nicht weiterhilft bei meinem Problem. Ich bin davon ausgegangen, das eine SQLTransaction nicht nur Daten holen, sondern auch senden kann. Also Manipulationan der OriginalDB möglich ist. Bin ja shconmal froh, das ich eine Verbindung aufbauen und Daten auslesen konnte. Wie läuft denn das ab mit der Manipulation? Ein Suchwort würde mich auch glücklich machen. Vll. werde ich ja fündig :) Im Prinzip will ich mit meiner Applikation nur Daten selktieren und manipulieren in der MS Access DB. Grüße |
Re: Datenmanipulation (ODBC/Access)
na dann, nur Mut :-)
Trotztdem eine Frage noch - kannst Du denn schon absehen ob Du in mehr als einer Tabelle Daten Lesen und ändern können solltest? |
Re: Datenmanipulation (ODBC/Access)
Wie meinst du das "nur Mut" ^^
Kann mir kaum vorstellen, das mein Vorhaben sehr kompliziert sein kann :) Es ist abzusehen das: - die Datenbank später im Netzwerk liegen wird - meine Applikation auf jedem PC im Netzwerk laufen sollte (wobei ich da nicht weiss, ob auf jedem eine eigene Benutzer DSN erstellt werden muss, und welche Probleme es dann bei dem gelichzeitigen Zugriffen/Manipulationen geben wird :/) - eine große Menge von Anfragen und Manipulationen auf/an 13 Tabellen (ca. 20K Datensätze) erolgen werden durch die Nutzer :) Wonach kann ich denn jetzt suchen? Scheint ja so, das ich noch einen andere Komponente brauch, außer denen, die ich schon benutze. danke :) |
Re: Datenmanipulation (ODBC/Access)
Such doch mal hier im Forum nach Datenbank-Beispielen. Ob eines für Access dabei ist, weiß ich nicht.
Aber Beispiele gibt es hier sicherlich. Kurz zu den Begriffen: Transaction ist so etwas wie die unsichtbare ausführbare Macht bei Datenbanken. Bei den besseren Datenbanken wird eine solche Transaction für jeden Benutzer oder eine bestimmte Tätigkeit in der DB erzeugt. Der Vorteil der Transaction ist der: Du oder der Benutzer kann nachher entscheiden Änderungen sind OK also speichern - oder aber Änderungen sind nicht OK also verwerfen. Soll heissen, mit jeder eröffneten Transaction werden die zu bearbeitenden Daten lokal gespeichert. Dann entscheidet der Benutzer Top oder flopp. Bei Top werden die lokalen Änderungen in die DB zurückgeschrieben. Bei Flopp wird der lokale Speicher gelöscht Query ist eine visuelle Darstellung des Datenbank-Objektes das Du über Ereignisse und Eigenschaften steuern und dem Benutzer in entsprechender Darreichungsform (Grid, Formular usw.) zum bearbeiten anbieten kannst. |
Re: Datenmanipulation (ODBC/Access)
Ach, nimm das "nur Mut" nicht so ernst :-)
Es ist für Dich nur etwas neues und durch Deine Angaben sicherlich in kurzer Zeit zu bewerkstelligen. Deinen Angaben zu Folge, würde ich Dir raten, alle Datenbank-Objekte nicht auf dem Hauptformular, sondern in eine eigene DB-Form zu packen um die übersichtlichkeit für später zu sichern. In der Regel ist das ein Datenbankmodul oder eine spezielle Form um nur Datenbank-komponenten aufzunehmen. Diese haben in der Regel von Hause aus die Eigenschaft, vor dem Hauptformular geladen zu werden. |
Re: Datenmanipulation (ODBC/Access)
Mhh, könnte mir jmd. Fachkundiger ein paar Tips/Hinweise geben?
Ich suche seit mehreren Stunden nach einer Lösung hier im Forum. Vll. habe ich sie sogar schon gesehen. Aber da ich sowas noch nie gemacht habe, weiss ich jetzt nimmer wo/-nach ich jetzt noch suchen soll :/ Gibt es niemanden, der schon einmal Daten manipuliert hat per ODBC? Welche DB da am anderen Ende hängt dürfte ja für den Prozess unerheblich sein oder? Grüße |
Re: Datenmanipulation (ODBC/Access)
siehe oberen Beitrag ~missclicked~
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 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 by Thomas Breitkreuz