| Autor |
Beitrag |
PPaB
      
Beiträge: 33
|
Verfasst: Fr 22.05.09 13:00
Ich möchte meine Tabelle der Datenbank komplett in ein StringGrid übergeben.
Ich habe viel herumprobiert und im Internet nach einer Lösung gesucht, aber leider nichts brauchbares gefunden.
Ich habe eine MyBase-Datenbank erstellt und diese dann in einem DBGrid anzeigen lassen.
Hoffe ihr habt eine Idee und könnt mir helfen
PPaB
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Fr 22.05.09 14:04
Warum? Was ist an dem DBGrid denn nicht so optimal?
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Fr 22.05.09 14:27
Und wenn würde ich die Daten direkt vom DataSet ins StringGrid übertragen
_________________ Markus Kinzler.
|
|
PPaB 
      
Beiträge: 33
|
Verfasst: Fr 22.05.09 14:56
@ mkinzler: Ja das wäre mir ja auch eagl, ob jetzt von DBGrid zu String Grid oder direkt vom DataSet. Trotzdem würe es mir helfen, wenn du mir sagen könntest wie das funtkioniert?
@ Robert.Wachtel: Ich würde gerne einfach in bestimmten Spalten überprüfen, was dort steht (oder nach etwas bestimmten suchen) und die Zeilen dann ausgeben. Aber ich habe das mit DBGrid nicht hinbekommen und mit StringGrid dürfte es einfacher sein. Wenn das mit DBGrid auch einfach funtioniert und du oder jemand anders mir das erklären könnte, wäre ich auch froh.
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Fr 22.05.09 15:15
| Zitat: | | @ mkinzler: Ja das wäre mir ja auch eagl, ob jetzt von DBGrid zu String Grid oder direkt vom DataSet. Trotzdem würe es mir helfen, wenn du mir sagen könntest wie das funtkioniert? |
Du kannst die Zellen mit StringGrid.Cells adressieren
| Zitat: | | @ Robert.Wachtel: Ich würde gerne einfach in bestimmten Spalten überprüfen, was dort steht (oder nach etwas bestimmten suchen) und die Zeilen dann ausgeben. Aber ich habe das mit DBGrid nicht hinbekommen und mit StringGrid dürfte es einfacher sein. Wenn das mit DBGrid auch einfach funtioniert und du oder jemand anders mir das erklären könnte, wäre ich auch froh. |
Grundsätzlich geanuso, wie im StringGrid
_________________ Markus Kinzler.
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Fr 22.05.09 15:20
PPaB hat folgendes geschrieben : | | [...] @ Robert.Wachtel: Ich würde gerne einfach in bestimmten Spalten überprüfen, was dort steht (oder nach etwas bestimmten suchen) und die Zeilen dann ausgeben. Aber ich habe das mit DBGrid nicht hinbekommen und mit StringGrid dürfte es einfacher sein. Wenn das mit DBGrid auch einfach funtioniert und du oder jemand anders mir das erklären könnte, wäre ich auch froh. |
Und warum machst Du das nicht mit den Spalten der Daten quelle?
|
|
PPaB 
      
Beiträge: 33
|
Verfasst: Fr 22.05.09 15:31
@ Robert.Wachtel
Wenn du mir sagen würdest, wie das geht, wäre das sehr hilfreich?
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Fr 22.05.09 15:35
In etwa so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| MeineTabelle.First; while not MeineTabelle.Eof do begin if (MeineTabelle.Fields[xyz].AsString = MeinGesuchterInhalt) then begin TueWasAuchImmerProzedur(); end; MeineTabelle.Next; end; |
Alternativ kannst Du natürlich auch FieldByName oder persistente Felder nutzen.
Evtl. solltest Du vorher/nachher noch DisableControls reps. EnableControls einsetzen.
|
|
zuma
      
Beiträge: 660
Erhaltene Danke: 21
Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
|
Verfasst: Fr 22.05.09 15:41
alternativ geht auch ein
Delphi-Quelltext 1:
| Dataset.Locate('Suchfeld', Suchwert, []); |
oder
Delphi-Quelltext 1:
| Dataset.locate(suchfeld1;Suchfeld2;..), varArrayof([Suchwert1, suchwert2, ...]), []); |
ganz prima dafür.
Das setzen von Filtern könnte für deine Aufgabenstellung auch nützlich sein.
_________________ Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Fr 22.05.09 15:45
|
|
PPaB 
      
Beiträge: 33
|
Verfasst: Fr 22.05.09 18:26
Was ich machen möchte?
Ein Programm, in dem in einer Datenbank Liedernamen und die Bücher in denen diese vorkommen gespeichern sind
(2 Tabellen : in der Ersten: Lieder und die ID Zweiten: ID, Buch und Nummer ).
Jetzt möchte ich Suchabfragen einbauen:
--> Suche nach einem Liednamen
--> Suche nach einem Buch
Nach dieser Abfrage sollen die Datensätze, bei denen dies stimmt ausgegeben werden (in einer Tabelle).
So das wäre so ungefähr das Grundprinzip.
--- Moderiert von Narses: Beiträge zusammengefasst---
@ zuma: Sieht ganz schön aus, aber was muss ich den als Suchfeld eingeben?
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Fr 22.05.09 18:41
Wir wäre es mit Grundlagen? www.delphi-treff.de/tutorials/datenbanken/ und die über F1 erreichbare Delphi-Hilfe dürften einige Deiner Fragen lösen.
|
|
PPaB 
      
Beiträge: 33
|
Verfasst: Fr 22.05.09 18:49
ok hab das gefunden, was ins Suchfeld gehört, hatte nur nen Fehler im Code, deswegen hatte es nicht funktioniert
--- Moderiert von Narses: Beiträge zusammengefasst---
Aber ein Frage habe ich trotzdem noch:
Wie kann ich in der Table den TableName einstellen ?
Bei mir gibt es da nichts zur Auswahl und in den Erklärungen steht, dass da die Datenbank reingehört,
aber wie ist das bei MyBase?
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Fr 22.05.09 20:14
Ad eins ist mir nicht ganz klar, was Du meinst und ad zwei: neue Frage, neuer Thread. Danke.
|
|
Chemiker
      
Beiträge: 194
Erhaltene Danke: 14
XP, Vista 32 Bit, Vista 64 Bit, Win 7 64 Bit, Win 10, Win 11
BDS 2006, RAD Studio 2009+C++, Delphi 13, VS 2010 Prof.
|
Verfasst: Fr 22.05.09 20:23
Hallo PPaB,
wozu brauchst Du eine Tabelle? Normal brauchst Du doch nur ClientDataset mit DataSource verbinden. Wenn Du 2 ClientDatSet hast kannst Du ein DataModul dafür anlegen.
Damit ereichst Du eine Trennung zwischen Datenbank und der GUI.
Bis bald Chemiker
|
|
PPaB 
      
Beiträge: 33
|
Verfasst: Fr 22.05.09 22:09
Hier gehts weiter --> www.delphi-forum.de/...instellen_92403.html
Ich habe halt keine andere Möglichkeit gesehen, wie ich das ohne Tabele machen könnte.
Bin über jede andere Möglichkeit erfreut.
|
|