Wie man Datenbank-Werte in und aus dem code. in Delphi 7
HINTERGRUND
Mache ich ein einfaches Programm, um log-Daten und ein paar Berechnungen mit ein .MDB-Datenbank. der Zugriff erfolgt über Jet 4.
ZIEL
Ich möchte in der Lage sein, um den Wert aus /in jedem Feld aus einer sql-Abfrage auf eine primary key(Folge)
AKTUELLEN
Habe ich derzeit mit der Datenbank verbunden und ich bin in der Lage, anzeigen, Bearbeiten Sie die Daten via "data controls"
wie unten gezeigt:
FRAGE
Wie kann ich den Zugriff auf die Daten in der Datenbank so, dass ich die Werte in eine passende variable und dann schreiben Sie wieder?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jørn Angeltveit Antwort klingt wie direkte Art und Weise zu tun, zumindest einen Teil von dem, was Sie wollen. Er gibt Ihnen die Möglichkeit, den Zugriff mit dem Wert im Feld. Aber erkennen, dass nur das ändern des Wertes dieses Feldes wird nicht aktualisiert den Datensatz in die Datenbank; das zu tun, was Sie auch benötigen, rufen Sie das dataset ' s Post-Methode. Deine Frage ist eine sehr einfache und wenn Sie eine app mit einer Datenbank-backend würden Sie wahrscheinlich gut zu Lesen bis zum schreiben von Datenbankanwendungen mit Delphi. Wenn Sie versuchen, vorwärts zu gehen, ohne die Grundlagen der Delphi-TDataset-Komponenten, dann sind Sie wahrscheinlich am Ende mit unsauberer Ansatz, und zusätzliche Arbeit.
EDIT: Hier der link zu CodeGear-Seite mit einigen hilfreichen docs auf TDatasets. Es ist wahrscheinlich sehr ähnlich zu der Dokumentation, die Sie finden würde, in die Delphi 7 Hilfe-system (obwohl finden Sie Ihren Weg durch die eingebaute Hilfe kann manchmal verwirrend sein):
http://docs.codegear.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/devwin32/fhxr30623_xml.html
Hier ist ein guter online-Serie, die tatsächlich konzentriert sich auf den Zugriff .mdb ' s mit Delphi ADO Datenbank-Komponenten:
Beginner ' s Guide zu Datenbanken mit Delphi
Auch, Marco Cantu hat gute Abschnitte, auf die es in seinem Buch Mastering Delphi. Sie können abholen ein gebrauchtes Exemplar bei Amazon für nicht viel Geld. Ich verwendete Mastering Delphi 6 beim lernen von Delphi 7-und es war toll Ressource. Mastering Delphi 7 verfügbar ist, aber ich würde ein paar Euro sparen und gewöhnen kopieren von Mastering Delphi 6:
http://www.amazon.com/Mastering-Delphi-6-Marco-Cantu/dp/0782128742/ref=sr_1_6?ie=UTF8&qid=1296705281&sr=8-6
Ist
MyDataSet.FieldByName('TheFieldName').AsString := myString;
(und Umgekehrt), was du suchst?Gibt es viele Möglichkeiten, das zu tun, was Sie Fragen.
Den meisten straight-forward Weg ist ein Nachkomme von TDataset. Die häufigsten diejenigen, die in Delphi für den Zugriff auf Microsoft-Jet wäre wohl dbGo (ADO Express als es vorgestellt wurde in Delphi 5). Wenn Sie bereits süchtig UI, die Sie wahrscheinlich bereits verwenden. Die gleichen Tabellen und Abfragen, die Sie verwendet, um hook in Ihrer Benutzeroberfläche zugegriffen werden kann, direkt in den code. TADOQuery und TADOTable unterstützen beide treten durch das dataset (mit
Next
), die Suche nach bestimmten Datensätzen (mitLocate
oderSeek
) und den Zugriff auf Felder (mitFieldbyNumber
oderFieldbyName
)Für kleine und mittlere Anwendungen ist dies die einfachste Möglichkeit zur Speicherung Ihrer Daten. Alternativ können Sie den Zugriff auf die gleichen Daten unter Verwendung der UI-Steuerelemente, die Sie bereits angeschlossen an die Quelle der Daten. Alle Delphi-standard db-aware controls haben eine
Field
Eigenschaft, und viele haben eineText
Eigenschaft.Für größere Anwendungen mit komplexer business-Regeln eines domain-Ebene mit einem ORM(Object/Relational Mapper) als Persistenz-Schicht wird empfohlen.
Natürlich auch kleine Projekte haben eine Art, sich in großen Projekten über die Zeit. Also es würde profitieren Sie, entsprechend zu planen.