2 kleine Probleme
-
- 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
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^^
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^^
-
- 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:
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/
-
- 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:
habe in eine DBGrid bei einer Spalte eine PickList gefüllt
doch wenn ich alle sachen bearbeite speichert er diese nicht 
muss ich eine andere speicherung vornehmen wenn ja wie?
Hier die SQL der Tabelle
SaveOnRefetch und SaveOnClose sind auf True
Code: Alles auswählen
while not DBProdukte.eof do
begin
KundenTabelle.Columns.Items[2].PickList.Add(DBProdukte.FieldByName('Name').AsString);
DBProdukte.Next;
end;

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;
-
- 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
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)
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)
-
- 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:
hast du schonmal bei den einschlägigen Tutorials nachgesehen:
http://www.dsdt.info/tutorials/?cat=6" onclick="window.open(this.href);return false;
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.
http://www.dsdt.info/tutorials/?cat=6" onclick="window.open(this.href);return false;
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.