2 kleine Probleme

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

2 kleine Probleme

Beitrag von EugenE »

Hey,

habe 2 probleme bzw weiß nich wie es realisieren soll

DB-Art: SQLite

1. Ich habe einmal eine Tabelle wo alle Werte angezeigt die in der DB-Tabelle "Kunden" sind, so da habe ich eine spalte namens Produkt_Id , beim anzeigen in der DB-Grid soll aber der Produkt Name anzeigt werden und nicht die ID , wie realisiert man das

2. in eine DBCombobox sollen alle Werte der Tabelle Produkte angezeigt werden, und wenn ich dann auf "Insert" klicke soll dann die ID und nich der Name gespeichert werden

Ich habe schon erfahrung mit Datenbank , aber nur in PHP^^ , in Delphi ist ja alles anders^^

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Mit einer entsprechenden select anweisung die dir aus den 2 oder mehr tabellen die daten zusammensammelt
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

das erste habe ich gelöst , das zweite nich :(

und wie kann man eine DBGrid sortieren also die spalten meine ich

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Du musst wohl in einer while schleife deine Tabelle durchforsten und die entsprechenden eintrtäge in die Combobox einfügen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

und wie sieht eine sql schleife aus?

habe grade eine versucht diese hat meinen rechner ganz ausgelastet und das noch im Debug-Modus wo schon alles richtig lahm ist^^

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Code: Alles auswählen

while not mydataset.eof do
  Combobox1.Items.Add(MyDataSet.FieldbyName('MyField').AsString);
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

habe in eine DBGrid bei einer Spalte eine PickList gefüllt

Code: Alles auswählen

while not DBProdukte.eof do
   begin
       KundenTabelle.Columns.Items[2].PickList.Add(DBProdukte.FieldByName('Name').AsString);
       DBProdukte.Next;
   end;


doch wenn ich alle sachen bearbeite speichert er diese nicht :(

muss ich eine andere speicherung vornehmen wenn ja wie?

Hier die SQL der Tabelle

Code: Alles auswählen

SELECT * FROM Kunden,Produkte WHERE Kunden.Produkt_Id = Produkte.ID;


SaveOnRefetch und SaveOnClose sind auf True

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

was heisst erspeichert sie nicht ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

bzw ES :D

ja die tabelle kann man editieren und dann ist da noch eine Navigation mit drinne , nur die eingegeben Werte werden nicht gespeichert :(

naja gn8^^

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ach so, hast du ein Update statement ausgefüllt ? Kenn mich mit SQL aber auch nicht so wahnsinnig aus
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

danny61
Beiträge: 94
Registriert: So 5. Nov 2006, 18:40
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Berlin

Beitrag von danny61 »

Es ist nicht möglich die Änderungen innerhalb des DBGrid automatisch in eine SQLite Tabelle zu übernehmen. Das mußt du selbst programmieren.
Soll ein Schlüssel statt einem Wert gespeichert werden, so mußt du das auch selbst übernehmen und eine Routine schreiben die den entsprechenden Schlüssel zum Wert zurückliefert und das Wert/Schlüssel-Paar in der Detail-Tabelle anlegt, wenn sie noch nicht vorhanden sind.
Wenn Du das DBGrid sortieren willst empfiehlt es sich in deiner SELECT Anweisung einen SORT Ausdruck mit einzubinden und entsprechend zu ändern (z.B. nach angeklicktem Spaltennamen)

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von EugenE »

hm kann jemand eventuell ein DBTutorial schreiben egal mit welcher Datenbank , denn das müsste ja das meiste gleich sein , wäre sehr dankbar für ;)

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

hast du schonmal bei den einschlägigen Tutorials nachgesehen:
http://www.dsdt.info/tutorials/?cat=6


und wie kann man eine DBGrid sortieren also die spalten

Dazu gibt im IO eine Eigenschaft, ich meine Colums, dort rufts du den Spaleteneditor auf, wenn du auf die '...' klickst - in diesem kannst du dann Spalten anlegen und jeweils eine entsprechende Spalte der Datensource der Splate zuweisen.

Antworten