Information in DB speichern



  • Original erstellt von PHX:
    Angenommen, ich will jetzt in eine Datenbank speichern.. was brauch ich dafür und wie genau stell ich das an? Sry, hab absolut keinen peil..

    Also, als erstes brauchst du natürlich eine Datenbank.
    Wenn du das hast bzw weisst, was du für eine Verwenden willst, dann musst du dir eine Schnittstelle zu dieser besorgen.
    Im BCB wären da die BDE bzw. ADO-Komponenten zu empfehlen.
    Wie du mit diesen Komponenten umgehest, findest du in der Hilfe, hier in der FAQ oder auch über die Suchfunktion.

    [ Dieser Beitrag wurde am 23.01.2003 um 12:52 Uhr von JeGr editiert. ]



  • ich raffs net.. wenn ich jetzt ne editbox hab, wie speicher ich das feld jetzt in ner datenbank?!



  • Entweder, indem du eine Query-Komponente verwendest und dann die entsprechenden SQL-Befehl eingibts.
    Oder du schaust dir mal die Eigenschaften und Methoden einer Table-Komponente an (Stichwörter Update, Post, Edit).
    Zudem sind in der Hilfe auch Beispiele dafür.

    P.S. Kann es sein, dass du noch nicht in der FAQ nachgesehen hast?!
    Dort ist der Umgang sehr gut beschrieben 😉



  • Sogesehen find ichs net.. ich brauch ne beschreibung die bei 0 anfängt, und für deppen gemacht is..



  • Aha, un was ist damit?! Datenbank - Tutorial



  • nee, das hatte ich net gefunden, ich werds ma durchlesen.. danke



  • zuerst musst du ne database erstellen, der übergibst du paras wie db-pfad, login, passwort,...
    dann für diese database ne transaction einrichten, die stellt die verbindung zu den datasets her,
    dann richtest du für jede abfrage ein dataset ein, denen musst du sql statements übergeben,
    dann kannst du über die funktionen der datasets mit der datenbank sprechen,

    //z. B. neuen datensatz anlegen:
    dataset1->Append();
    dataset1->FieldByName("xyz")->AsString = Edit1->Text;//xyz=feld in db;
    dataset1->Post();
    //datensatz bearbeiten: 
    dataset1->Edit();
    dataset1->FieldByName("xyz")->AsString = "Huhu!"
    dataset1->Post();
    //vorher musst du den richtigen datensatz ermitteln
    dataset1->Active = False;
    dataset1->ParamByName("index")->AsInteger = i;//index=var in sql-statement
    dataset1->Active = True;
    dataset1->First();
    

    Das sollte an Stichworten reichen.



  • //vorher musst du den richtigen datensatz ermitteln
    dataset1->Active = False;
    dataset1->ParamByName("index")->AsInteger = i;//index=var in sql-statement
    dataset1->Active = True;
    dataset1->First();

    ^ wo muss ich den datensatz ermitteln? ich raff garnix mehr..

    warum sql jetzt?



  • Also ich hab mich nach dieser einen Homepage dazu entschlossen BDE zu verwenden und zwar mit Table..

    jetzt hab ich ne editbox1 Namens "Vorname".. das möchte ich jetzt in ner DB speichern, und es per buttondruck in label1 ausgeben..

    Wie mach ich das? und ist das beim nächsten programmstart noch aufrufbar?



  • Du musst beim ändern eines Datenstzes erst ermitteln welchen du brauchst,
    das machst du indem du dem dataset argumente für die damit verknüpfte sql abfrage übergibst,
    sql brauchst du um mit der db zu kommunizieren, (heisst irgendwas mit standard queue language) wird von den meisten dbs verstanden,
    wenn du ernsthaft mit dbs arbeiten willst, kommst du um sql nicht herum,
    ansonsten bleibt dir nur die liste wie oben angesprochen, oder du nimmst ne eigenständige access anwendung, das hat aber nix mit programmieren zu tun
    (click,drag,drop,click,click,...)



  • Steht doch alles in diesem Tutorial drin, oder?!

    Was für eine DB benutzt du denn?
    Hast du schon die entsprechenden Tabellen in der DB angelegt?

    Tipp:
    Leg dir einfach mal eine DB zum Testen an.
    Dort erstellst du dann ein Tabelle mit 2 Feldern.
    Als nächstes schreibst du in diese Tabelle mal ein paar Testwerte.
    Dann versuchst du mit dem BCB den Zugriff auf die DB herzustellen.
    Danach gibst du einfach mal den Inhalt der Tabelle in ein DBGrid o.ä. aus.
    Wenn du das alles schon mal beherrschts, dann kannst du mal versuchen, die Daten der Tabelle aus der DB zu verändern bzw. neu hinzuzufügen.
    Wenn das dann auch geklappt hat, dann kannst du an deine eigentliche Aufgabenstellung zurückgehen!



  • Wie leg ich die BDE Tabelle denn genau an? ich nem das Table Element und setz es auf mein Formular.. dann hab ich ja dieses kleine fenster.. da hab ich dann "Vorname" und "Name" erstellt.. nun komm ich nimmer weiter 😕



  • Du kannst die Tabellen entweder
    mit den CBuilder Datenbanktools erstellen(Datenbankoberfläche oder SQLExplorer),
    oder du instanzierst ein TQuery und machst es direkt mit SQL
    z.bsp "create table t_tabelleeins ( nr int,feld1 char(30),primary key(nr))"
    😉
    epidemic



  • hmm wie geht das denn mit der verketteten liste? das sollte doch reichen, wenn das nur auf einem computer laufen soll oder?



  • gibt's du etwa so schnell schon auf?

    Bei der verketteten Liste solltest du allerdings beachten, dass du dir dabei selbst noch was einfallen lassen musst, wenn du diese speichern willst.
    Die Daten bleiben nämlich nur während des Programmablaufes erhalten. Wenn du sie nicht in irgendeiner Form speicherst, dann sind diese beim nächsten Start wieder futsch.



  • ich raffs halt net.. ich brauch n beispiel programm..



  • Hab dir ne Mail geschrieben.
    Schau mal nach!



  • Ich glaube du brauchst erst mal ein einfacheres Projekt oder eine Komplettlösung. Kauf dir ein Buch zum Builder und les das von vorne bis hinten durch dann kannst du dir selber helfen.



  • Mhm...

    Die Lösung mit einer einfachen Datenbank fände ich zumindest
    beim CBuilder einfacher als die mit den verketteten Listen.

    epidemic



  • also eins versteh ich nicht ganz und muss dem etechniker recht geben.

    phx hat keine ahnung was er will bzw. womit er überhaupt arbeitet und wie es funktioniert. anscheind hat auch nicht gerade viel lust sich die hilfe oder bücher anzuschauen !

    sonst wird jedem der sich so darstellt wie phx gleich an den kopf geworfen :

    "..kauf dir ersteinmal ein buch ..." oder "..vorgefertigte lösungen wirst du hier nicht finden..versuchs erstmal selbst und wenn du nicht weiterkommst dann kannst du fragen.." aber ihm helft ihr wie die wilden.

    also wenn ich schon lese:
    "..ich raff gar nichts mehr.." oder "..Sogesehen find ichs net.. ich brauch ne beschreibung die bei 0 anfängt, und für deppen gemacht is.. "

    dann frag ich mich ob es sich hier überhaupt lohnt zu helfen. ob er so etwas dabei lernt ? aber anscheind ist ihm der lernfaktor ja eh egal.

    sorry phx ist nicht persönlich gemeint !


Anmelden zum Antworten