AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lassen.
Thema durchsuchen
Ansicht
Themen-Optionen

Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lassen.

Ein Thema von sammynrw · begonnen am 17. Jul 2014 · letzter Beitrag vom 17. Jul 2014
Antwort Antwort
sammynrw

Registriert seit: 1. Jul 2014
28 Beiträge
 
#1

Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lassen.

  Alt 17. Jul 2014, 11:42
Datenbank: MySQL • Version: 5. • Zugriff über: MyDac
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
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 11:49
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:
SELECT ID, BLA, BLUBBER
  FROM <TABELLE>
 WHERE ID = :ID_NR
Sollte mit MyDAC recht gut funktionieren, da gibt es wenn ich mich Recht entsinne, einen Reiter Parameter...

Den Rest solltest du zusammen mit der OH hinkriegen.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 11:51
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 select * from TABELLE where ID=UEBERGEBENEID;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
sammynrw

Registriert seit: 1. Jul 2014
28 Beiträge
 
#4

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 12:21
Jetzt bekomme ich ein anderes Problem:

Code:
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';
Jetzt Zeigt mir Delphi an das der String zu lang ist
  Mit Zitat antworten Zitat
sammynrw

Registriert seit: 1. Jul 2014
28 Beiträge
 
#5

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 12:22
Baumina <<< Ich werde mal dein Code aussprobieren. ist wohl die gekürzte version
  Mit Zitat antworten Zitat
matthiaskary

Registriert seit: 28. Okt 2013
Ort: Hamburg
24 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 12:55
Hallo,

probier es mal mit:

MyQuery.SQL.Add('');
MyQuery.SQL.Add('');
MyQuery.SQL.Add(''); usw.
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 13:02
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:
Query.ParamByName('ID').AsInteger = 16;
Query.Open
Die Methode von Baumina führt auch zum Ziel, birgt aber Sicherheitsprobleme (Stichwort SQL-Injektion).

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
sammynrw

Registriert seit: 1. Jul 2014
28 Beiträge
 
#8

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 14:10
Danke ... Es geht ... Vielen dank an alle.

Die Variante von mikhal funktioniert:
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#9

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 14:16
Die Variante von mikhal funktioniert:
Glaub ich nicht, dazu müsste man aus dem Vergleich eine Zuweisung machen (war vermutlich ein Tippfehler)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Einen Datensatz von einer MySql Tabelle per Click in einem Formular Anzeigen lass

  Alt 17. Jul 2014, 14:28
Ja, Tippfehler oder Pseudocode oder zuviel in anderen Sprachen geschrieben... Obwohl PL/SQL will auch Zuweisungen...

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz