![]() |
Datenbank: MySQL • Version: 5. • Zugriff über: MyDac
Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lassen.
Hallo Delphi Freunde,
Ich habe wieder mal ein problem mit Delphi und MySQL. In einer DBGrid lasse ich mir meine Datensätze Anzeigen. Wenn ich die Zeile an klicke ließt er mir den ID Autowert aus. Soweit alles gut. Aber wie kann ich dann diesen Gesamten Datensatz in einem anderen Formular von Delphi übergeben. Ich weiss nicht wie ich per SQL diesen Datensatz auslesen kann und wie ich diesen per Code dem Neuen Formular übergeben kann. Ich arbeiten mit MyDac und dachte ich könnte mit MyQuery diesen Datensatz (ID) wert auslesen und dem Neuen Formular übergeben. Geht aber nicht. Ich kenne den Weg nicht und weiss auch nicht die Richtige Syntax von SQL :-( |
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Parameter heißt das Zauberwort. Du hast die ID bereits ermittelt, also öffne im neuen Formular eine Query mit dieser ID als Parameter.
Delphi-Quellcode:
Sollte mit MyDAC recht gut funktionieren, da gibt es wenn ich mich Recht entsinne, einen Reiter Parameter...
SELECT ID, BLA, BLUBBER
FROM <TABELLE> WHERE ID = :ID_NR Den Rest solltest du zusammen mit der OH hinkriegen. Grüße Mikhal |
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Da gibt's wie immer mehrere Wege.
Du könntest z.B. auf das gleiche Dataset greifen, dann stehst schon auf dem richtigen Datensatz. Oder du machst nochmal einen select mit der übergebenen ID so in dieser Art
SQL-Code:
select * from TABELLE where ID=UEBERGEBENEID;
|
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Jetzt bekomme ich ein anderes Problem:
Code:
Jetzt Zeigt mir Delphi an das der String zu lang ist :-(
MyQuery1.SQL.Text := 'SELECT ID, anfragen_id, Erfassungsdatum, Gewerblich_Privat, Firma, Anrede, Vorname, Nachname, Straße+Nr, Postleitzahl, Ort, Angebotsart, Benötigter_Betrag, KFZ-Kennzeichen, Fahrzeugart, Hersteller, Modell, Erstzulassung, Akt_Kilometerstand, Leistung, Kraftstoff, Farbe, Ergänzung, Unfall_Vorhanden, Unfall_Vorhanden, Versicherungsart, Telefon, Email, Mobilfunk, Fax, Status, Vertriebspartner_ID, Niederlassung, Sachbearbeiter FROM cc_fahrzeug_anfragen WHERE ID = :16';
|
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Baumina <<< Ich werde mal dein Code aussprobieren. ist wohl die gekürzte version :-D
|
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Hallo,
probier es mal mit: MyQuery.SQL.Add(''); MyQuery.SQL.Add(''); MyQuery.SQL.Add(''); usw. |
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Nicht nur das: es heißt nicht :16 sondern nur 16.
Der Doppelpunkt zeichnet den Parameter aus, also eine Variable, die an die Query übergeben wird. Hier ist einfach der Wert mit der Parameter-Methode zu übergeben.
Delphi-Quellcode:
Die Methode von Baumina führt auch zum Ziel, birgt aber Sicherheitsprobleme (Stichwort SQL-Injektion).
Query.ParamByName('ID').AsInteger = 16;
Query.Open Grüße Mikhal |
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Danke ... Es geht ... Vielen dank an alle.
Die Variante von mikhal funktioniert: :-D |
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Zitat:
|
AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass
Ja, Tippfehler oder Pseudocode oder zuviel in anderen Sprachen geschrieben... Obwohl PL/SQL will auch Zuweisungen...:lol:
Grüße Mikhal |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz