Name des aktiven Feldes verwenden (dbGrid)
-
Hi,
ich benutze ein DBGrid und eine MySQL Datenbank per ADO und ADOQUERY.
Nun sind die Daten auch alle erfolgreich in meinem DBGrid integriert.
Wie schaff ich es diesen Wert von dem angeklickten Wert auszulesen? Also ich möchte diesen Wert gern in eine Label->Caption übergeben. Wie kann ich dieses Feld auslesen.
Tabelle sieht ungefär so aus:
Header:
Firmen, Telefonnummern
Spalten:
FirmaXY, 0123456
FirmaXZ, 7516151Ich möchte nun wenn man auf eine Reihe klickt z.B. FirmaXZ das er mir ausliest FirmaXZ
Wie könnt ich das gescheiht hinkriegen. Achja habs mit DBGrid1CellClick versucht aber wo in der Column steht es drin?Danke an alle im Voraus

-
Hallo
als einfachstes könntest du natürlich einfach ein TDBLabel nehmen und es ebenfalls an die DataSource des DBGrids hängen, so das das DBLabel ein bestimmten Feld der Datenmenge anzeigt. Aktualisierung tut es sich dann selber.
/Edit : Willst du (wie ich annehme) auch noch das Feld dynamisch haben, must du den genannten Event benutzen um mit TCustomDBGrid::SelectedField das entsprechende Feld vom zugrundeliegenden TDataSet (TQuery) zu ermitteln.
bis bald
akari
-
Danke für eure Mühen ... hab bischen länger die Felder angesehen und die Lösung gefunden.
Also für alle die es vorhaben damit zu arbeiten hier die Lösung:
void __fastcall TForm1::DBGrid1CellClick(TColumn *Column) { StaticText1->Caption = DBGrid1->SelectedField->DisplayText; }Edit: Nun hab ich noch ein Problem. Ich würde gerne die ID von der Tabelle abfragen also von der Zeile abfragen ... Wieso zum Geier hat Borland bei BCB 6 sowenig zu MySQL geschrieben in den Tutorials, Handbüchern
Pls postet mal wenn ihr ne idee habt. ThxPS: Gibts den nirgendwo ein vernünftiges Tutorial für?
-
Hallo
Edit: Nun hab ich noch ein Problem. Ich würde gerne die ID von der Tabelle abfragen also von der Zeile abfragen ...
Zu jedem DBGrid gehört ein TDataSet, also sowas wie TQuery. Dort gibt es eine Funktion FieldByName, mit der du ein bestimmtes Feld sowie desen Wert im grade aktiven Datensatz abfragen kannst.
Wieso zum Geier hat Borland bei BCB 6 sowenig zu MySQL geschrieben in den Tutorials, Handbüchern
Weil Borland nichts mit MySQL zu tun hat und die Datenbankrechnik auch für andere Datenbankanbindungen verwendbar sein soll.
Und die allgemeinen Datenbank-Komponenten sind sehr wohl ausreichend in der BCB-Hilfe sowie den mitgelieferten Beispielen (<BCB-Path>/Examples/DBTasks) dokumentiert.bis bald
akari
-
Weil Borland nichts mit MySQL zu tun hat und die Datenbankrechnik auch für andere Datenbankanbindungen verwendbar sein soll.
Und die allgemeinen Datenbank-Komponenten sind sehr wohl ausreichend in der BCB-Hilfe sowie den mitgelieferten Beispielen (<BCB-Path>/Examples/DBTasks) dokumentiert.Es geht mir darum. Ich möchte diese Software die ich erstelle auch vertreiben und dafür benötige ich eine Art Datenbank. Jedoch hab ich schon ständig hier im Forum gelesen, dass sowas wie Paradox etc. zu alt und langsam sind und man damit nicht arbeiten soll. Kann mir dann mal jemand erklären mit welcher Datenbank man sonst eine Anwendung schreiben soll, die später dann auch bei jeden funktioniert ohne interbase etc?
Was mich auch ärgert ist. Wieso gibt es über 1000 Tutorials zu Delphi und zum BCB findet man kaum was im Internet? Ist den BCB so schlecht oder ist Delphi um so viel mehr besser, dass es verdient hat alles so schön im Netz zu erklären?
-
Wenn du dein Programm verkaufen willst, solltest du auch mal auf die Lizenzbedingungen von MySQL schauen. Wenn man den Server mitgeben muß ist es nämlich nicht mehr kostenlos.
Ich verwenden für solche Fälle Firebird.
-
Ich weiß und deshalb frag ich ja welche alternative mir bleibt. Ich werd doch dem Kunden kein Adressprogramm verkaufen sagen wir mal 29 euro und dann nen MSSQL Server für 300 Euro andrehen damit er die Daten speichern kann

Muss doch was OpenSource etc geben oder? Ne alternative. Ich mein Paradox soll man nicht nehmen oder? Fallen da auch Lizenzgebühren an?
Hab 2 x BCB 6.0 Professional. Alle beiden mit Interbase und Installshield etc. Logischerweise LEGAL und REGISTRIERT

Die bei der Hotline meinte ich soll auf Turbo C++ umsteigen, soll besser und flexibler sein. Aber ich will beim BCB 6 bleiben. Mag die Umgebung. Nun muss ich nurnoch gescheit wissen wie ich dort mit Datenbanken arbeiten will.
Welche könnt ihr denn empfehlen für einfache dinge wie Adressbücher oder sowas?
Danke allen im Voraus.
-
Hallo
Wie Braunstein schon sagte : schau dir Firebird an.
bis bald
akari
-
Danke euch beiden.
Ich lad dann mal: http://www.firebirdsql.org/ down.
Gibts irgendwie gute Tutorials für?
-
Wenn Du das Programm kommerziell vertreiben willst, solltest Du Dir eine entsprechende Komponentensammlung für den Zugriff auf Firebird nehmen. z.B. IBObjects, oder FIBPlus. Beide sind kostenpflichtig. Die ZEOS-Komponenten sind kostenfrei, aber ich weiß nicht, ob das auch für den kommerziellen Einsatz gilt.
Für erste Tests reichen auch die Interbase-Komponenten, allerdings sind sie relativ langsam und DDL-Anweisungen, oder gar Scripts sind damit nicht möglich. Sie lassen sich zwar ausführen, aber die Datenbank kann dadurch beschädigt werden. Constraints lassen sich zum Beispiel problemlos anlegen, funktionieren allerdings nicht...