Entwickler-Ecke

Datenbanken - Tabelle erstellen..Datenbank dahinter setzen??


boy - Fr 21.09.07 09:58
Titel: Tabelle erstellen..Datenbank dahinter setzen??
hey leute,

aaaalso..
ich habe die aufgabe eine Tablle zuerstellen in die man daten einfügen kann.. sprich: button "neues Produkt" .. dann halt daten eingeben ( preis,name... etc) und dann sollten sich die daten in die tabelle eintragen..
jetzt ist halt die frage wie implementier ich das? hab nicht wirklich viel erfahrung mit datenbanken!! daher die frage.. welche datenbank sollte ich nutzen? welche tabelle sollte ich nutzen??
also habs mal mit einem dbgrid versucht und hab vorher die daten in einer paradox7 tabelle gespeichert.. aber irgendwie komm ich mit dem dbgrid einfach nicht klar! weiß nicht wie ichs ansprechen soll um die daten in die zeilen einzufügen :(

oder sollte ich einen anderen weg nehmen?
bin halt noch anfänger..

würde mcih tierisch über eure hilfe freuen!!

aso, habe delphi 7 enterprise..

danke jetzt schonmal

mfg


mkinzler - Fr 21.09.07 11:57

Du solltest dich vielleicht erstmal in die Grundlagen von Datenbanken im Allgemeinen und mit dem Datenhandling der VCL im Speziellen auseinandersetzen.
Ein Grid ist nur eine Anzeige-Komponente für eine Datenmenge.


Kroko - Fr 21.09.07 12:04

schau mal dort [http://www.dsdt.info/tutorials/mybase/]


boy - Fr 21.09.07 12:18

das tut hab ich bereits gemacht un auch vertstanden soweit!

nur da wird es ja in den dbedit feldern ausgegeben un ich will es in ner tabelle ausgeben..
hab keine ahnung wie ich die ansprechen kann.. bzw was ich nutzen soll? dbgrid? stringgrid ?? tabelle??

hilfe.. :(


Kroko - Fr 21.09.07 12:29

einfach ein DBGrid auf Form und DBGrid.Datasource zuweisen :!:


boy - Fr 21.09.07 13:04

ja also soweit war ich auch shcon muss ich sagen!!

nur wie weiß ich denn die variablen dem dbgrid zu ? das ist doch die frage..
sehe niergends die möglichkeit die in bestimmte felder einzufügen(zuzuweißen)..

ach menno.. so schwer kann des doch nich sein:(


Kroko - Fr 21.09.07 13:11

user profile iconboy hat folgendes geschrieben:
ja also soweit war ich auch shcon muss ich sagen!!

nur wie weiß ich denn die variablen dem dbgrid zu ? das ist doch die frage..
sehe niergends die möglichkeit die in bestimmte felder einzufügen(zuzuweißen)..

ach menno.. so schwer kann des doch nich sein:(

Das geschieht automnatisch, wenn Du DBGrid.DataSource der entsprechenden DataSource zuweist!


boy - Fr 21.09.07 14:45

hmmmm... ich setz mich nachher nochmal ran.. mal schauen obs klappt so wie ichs gerade aufgeschnappt hab


boy - Fr 21.09.07 17:22

ok.. langsam wirds was in mein koppe...
is ja nur geklicke..

hmm frage is jetzt... (bekomm ich allein vll auch raus, aber wenns mir einer sagen kann wär natürlich auch shcön)..
der lässt immer ne zeile frei wenn ichs schrieben will.. z.b. schriebt er nur in die 2. und 4. , 1. un 3. kann ich net rein :(


Kroko - Fr 21.09.07 18:27

:?:


Mike19 - Fr 21.09.07 18:35

Hallo,

Du solltest wirklich erst einmal mit den Grundlagen befassen und dann konkrete Fragen hier stellen.

Hast Du erwartet, dass Dir hier einer einen fertigen Quellcode bietet ? Ich würde Dir das machen aber meinen Stundenlohn wirst Du nicht zahlen wollen.


boy - Sa 22.09.07 03:12

bekomm das schon hinne...
hatte halt delphi bisher nur ohne datenbank programmiert..

erstmal danke.. wenn ich weiterefragen hab meld ich mich..

mfg


boy - Mo 24.09.07 15:22

ok, soweit sogut..

hab jetzt alles soweit hinbekommen was ich oben wollt.. häng jetzt aber bei was anderen

hab jetzt 2 table un 2 dbgrid..

möchte halt die mackierten zeilen von einem table zur anderen kopieren...
hmm wie stell ich des an??
finde nur wie ich datensätze lösche,sie editiere usw.. aber nich kopieren oder ähnliches :(

danke leute!!


jasocul - Mo 24.09.07 16:08

Eine Kopier-Funktion für Datensätze gibt es nicht. Das musst Du selbst programmieren. Dafür gibt Insert und Append in TTable, bzw. TQuery. Oder Du benutzt richtige SQL-Statements. Aber als DB-Anfänger wirst Du wohl noch nicht so weit vorgedrungen sein.


boy - Mo 24.09.07 17:52

gibbet da schon fertige algorhytmen irgendiwe??
ich mein: warum das rad neu erfinden?


jasocul - Mo 24.09.07 18:34

Ich hätte da zwar einen kleinen Algo, aber der liegt in der Firma und ich bin ehrlich gesagt zu faul, den aus dem Kopf hier hin zu schreiben. Aber da Du ja was lernen willst, kannst Du das einfach mal selbst probieren. Ein paar Tipps:

- Du benutzt zwei DataSets (TTable oder TQuery)
- Übergib beide an eine Prozedur (Eine als Quelle, die andere als Ziel)
- Nutze die Eigenschaft Fields, um in einer Schleife die Feldinhalte zuzuweisen
- Denke daran, am Anfang das Ziel mit Append oder Insert in den richtigen Modus zu versetzen und am Schluss ein Post zu machen.

Ein paar Sicherheitsabfragen können auch nicht schaden.


boy - Mo 24.09.07 21:42

ja genau so hab ichs schon versucht... nur macht der net :(
und append heißt doch nur neuen Datensatz hinzufügen, oder ?

oder gibt es ne einfachere lösung datensätze in eine andere tabelle(ttable) zu verschieben ?


mkinzler - Mo 24.09.07 21:47

Per TBatchMove


jasocul - Mo 24.09.07 22:03

Er will nur die markierten Datensätze kopieren. Das wird mit TBatchMove nix.
Wenn man was besonderes will, muss man schon selbst Hand anlegen.

user profile iconboy hat folgendes geschrieben:
ja genau so hab ichs schon versucht... nur macht der net :(
und append heißt doch nur neuen Datensatz hinzufügen, oder ?

Dann zeig doch mal Deinen Versuch. Und Append heißt, dass ein Datensatz angefügt werden soll.


boy - Mo 24.09.07 22:28

setz mich morgen auf arbeit nochmal dahinter un wenn ichs net hinbekomm, post ichs einfachmal hier


boy - Di 25.09.07 20:50

habs jetzt anderst hinbekommen

danke trotzdem.. habs über filter gemacht.. wenn true dann soll ers in einen der ebiden dbgrids anziegen..usw