| Autor |
Beitrag |
PISAFOX
Hält's aus hier
Beiträge: 8
|
Verfasst: Mi 28.05.08 17:01
EINLEITUNGS BLABLA:
Einen Wunderschönen guten Tag.
Ich brauch eure Hilfe und zwar muss ich für ein Projekt in der schule eine Datenbank erstellen
und daraus Daten lesen. Problem ist das ich meine Lehren nicht um hilfe bitten kann und aus dem buch
(Borland Delphi 6 für Windows Fortgeschrittene Programmierung) nicht schlau werde.
Und zwar geht es um folgendes
EIGENTLICHE FRAGE:
Ich muss eine Datenbank erstellen und das die Werte in das Programm lesen
Realitätsbezogenes Beispiel
Abaddon 94265 64482 456 7895424198 54654644654 456 5642
Diese zahlen stehen in der Datenbank und sollen nun in das Programm einfliesen um dort berechnet zu werden.
Ich weiß aber nicht wie das geht im Moment versuche ich es mit einer Tabelle aus der BDE
(Borland Database Engine) mein Problem ist das ich ein Tabelle erstellen, und mit Datasource in ein DBGrid Komponenten einspeisen kann aber nicht weis wie ich die Zahlen aus der Tabelle in die Unit also in den eigentlichen Rechenprozess übertrage.
FRAGE KURZFORM:
Wie kann ich aus einer Datenbank wie BDE einen Wert in die Unit holen?
Ist BDE überhaupt dafür ausgelegt?
Wenn ja wie lautet die Programmierung dafür?
Ich bedanke mich im voraus für die antworten und bitte euch seit einfach in der Sprachwahl aber sorgfältig in der Beschreibung.
Mit freundlichen Grüßen
PISAFOX
|
|
bflegel
      
Beiträge: 193
Erhaltene Danke: 1
Win XP, Win 7, BS2000
D5
|
Verfasst: Mi 28.05.08 18:41
Hallo,
hast Du mal hier geschaut? www.delphi-treff.de/tutorials/?cat=6
Da müssten die Tutorials stehen die Du brauchst, um die Daten, die Du ja anscheinend schon in die DB eintragen kannst, auch wieder auszulesen (wahrscheinlich "Datenbanken für Fortgeschrittene").
bye
bflegel
_________________ I know all the jokes about my name
|
|
PISAFOX 
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 29.05.08 02:13
Okay ich kuck mir das mal durch
|
|
PISAFOX 
Hält's aus hier
Beiträge: 8
|
Verfasst: So 01.06.08 02:21
ja okay das hat mich schon etwas weiter gebracht aber das problem ist das ich brauche alle werte aus eine zeile aber einzelnt wie geht das denn?
|
|
bflegel
      
Beiträge: 193
Erhaltene Danke: 1
Win XP, Win 7, BS2000
D5
|
Verfasst: So 01.06.08 11:48
Hallo,
wie hast Du bisher Deine DB-Abfrage gelöst? Arbeitest Du wie im Tutorial beschrieben mit TTable? Dann kannst Du doch mit
Delphi-Quelltext 1:
| Label1.Caption := Table3.FieldByName('<feldname>').AsString; |
auf die entsprechenden Felder Deines Datensatzes zugreifen (Beispiel aus dem Tutorial "Datenbanken für Fortgeschrittene").
bye
bflegel
_________________ I know all the jokes about my name
|
|
PISAFOX 
Hält's aus hier
Beiträge: 8
|
Verfasst: So 01.06.08 16:01
ja das problem ist doch das ich in der zeile nur den namen suchen kann also
abbadon 45464 45465465 4645487 47487854 874867
ich brauch aber die zahlen die dahinter in der zeile stehen.
und zwar einzelnt zum berechnen im Programiercode.
|
|
bflegel
      
Beiträge: 193
Erhaltene Danke: 1
Win XP, Win 7, BS2000
D5
|
Verfasst: So 01.06.08 19:32
Mal ne dumme Frage,
hast Du
Quelltext 1:
| abbadon 45464 45465465 4645487 47487854 874867 |
in EINEM Feld oder in 6 einzelnen Feldern?
- Wenn es 6 einzelne Felder sind, kannst Du doch das entsprechende Feld jeweils einzeln auslesen.
- Wenn es 1 Gesamtfeld ist, dann musst Du wohl den String bei den Leerstellen trennen und z. B. in eine Stringlist "auslagern".
bye
bflegel
_________________ I know all the jokes about my name
Zuletzt bearbeitet von bflegel am Di 03.06.08 07:06, insgesamt 1-mal bearbeitet
|
|
PISAFOX 
Hält's aus hier
Beiträge: 8
|
Verfasst: So 01.06.08 23:25
ja aber wie komm ich an diese werte heran wenn ich diese werte suche weis ich doch nicht welche zahl da steht ich weiß nur das sie in der selben zeile stehen wie der name ABBADON wie kann ich dem pc sagen lies mir einzelnt die zahelen aus die in der zeile der ABBADON stehen.
die ABBADON zu finden ist kein problem
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| Table1.First; while not Table1.Eof do begin if Table1.FieldByName('Ships').AsString='ABBADON' then break else Table1.Next; end; |
aber wie finde ich dann die dazugehörigen zahlen die in 6 verschiedenen Feldern in der selben zeihle stehen
gibt es sowas wie LINKS und RECHTS in der Programiersprache das ich sagen kann wenn die ABBADON gefunden worde ...
...keine ahnung gofieldleft oder so ich weis das es für nach unten den befehl NEXT und für nach oben den befehl PRIOR
gibt aber für nach rechts und links kunnst du so einen befehl???
Moderiert von Klabautermann: Delphi-Tags hinzugefügt.
|
|
bflegel
      
Beiträge: 193
Erhaltene Danke: 1
Win XP, Win 7, BS2000
D5
|
Verfasst: Mo 02.06.08 05:47
Guten Morgen,
Deine Datenbank ist also so aufgebaut:
Quelltext 1: 2:
| <feldname1> <feldname2> <feldname3> <feldname4> <feldname5> <feldname6> abbadon 45464 45465465 4645487 47487854 874867 |
Dann müsstest Du so an die Werte drankommen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| var tabellenwert1 : string; tabellenwert2, tabellenwert3, tabellenwert4, tabellenwert5, tabellenwert6 : integer;
...
Table1.First; while not Table1.Eof do begin if Table1.FieldByName('Ships').AsString='ABBADON' then begin tabellenwert1 := Table1.FieldByName('<feldname1>').AsString; tabellenwert2 := Table1.FieldByName('<feldname2>').AsInteger; tabellenwert3 := Table1.FieldByName('<feldname3>').AsInteger; tabellenwert4 := Table1.FieldByName('<feldname4>').AsInteger; tabellenwert5 := Table1.FieldByName('<feldname5>').AsInteger; tabellenwert6 := Table1.FieldByName('<feldname6>').AsInteger; break end else Table1.Next; end; |
(ungetestet - evtl. Syntaxfehler)
bye
bflegel
_________________ I know all the jokes about my name
|
|
PISAFOX 
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 02.06.08 15:37
junge du bist ja vollkommen krank das ist ja genial!!!!!
THX
|
|
bflegel
      
Beiträge: 193
Erhaltene Danke: 1
Win XP, Win 7, BS2000
D5
|
Verfasst: Mo 02.06.08 17:39
PISAFOX hat folgendes geschrieben: | | junge du bist ja vollkommen krank |
PISAFOX hat folgendes geschrieben: | das ist ja genial!!!!!
THX |
Bitte sehr. Es freut mich dass ich Dir helfen konnte.
bye
bflegel
_________________ I know all the jokes about my name
|
|