Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mysql Problem (https://www.delphipraxis.net/116137-mysql-problem.html)

theroad 24. Jun 2008 07:15


Mysql Problem
 
Hallo,

Ich suche eine möglichkeit mit Mysql eine abfrge zu erstellen und die Ausgabe in Editfeldern aufzuteilen.

Also meine bisherige abfrage ist "DirectMysql" aber damit kan ich bishher nur die Ausgabe in einem Stringrid ausgeben lassen.

Ich möchte es also so haben:

In der Datenbank gibt es z.b. diese Spalten: id, Vorname, Nachname, Telefonnummer usw.
jezt soll nach der auswahl einer id also währe die abfrage ja mit where=id, jezt sollen die daten dan per abfrage in die editfelder:
edit1.text=vorname
edit2.text=nachname usw....

Ist für eine Bearbeiten funktion.

Vielen Dank im voraus

MFG

soulies 24. Jun 2008 07:33

Re: Mysql Problem
 
hi,

greif über '.FieldValue(...)' // ... = wert deiner anfrage
auf die einzelnen Positionen zu

Bsp:
Delphi-Quellcode:
 sql_statement := 'Select Vorname,Name From Tabelle Where ID=1;'
 ergebnis := mysql(sql_statement_ausführen);
 edt_vorname := ergebnis.FieldValue(0);
 edt_name   := ergebnis.FieldValue(1);
 freeandnil(ergebnis);

cya

RavenIV 24. Jun 2008 08:01

Re: Mysql Problem
 
Oder Du nimmst anstatt TEdit gleich TDBEdit.
Dort kannst Du eine Query und das passende Feld zuweisen.
Beim Öffnen der Query steht dann automatisch der Wert im DBEdit drin.

DP-Maintenance 24. Jun 2008 08:19

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Sonstige Fragen zu Delphi" nach "Datenbanken" verschoben.
Ich denke hier ist es besser aufgehoben?

Daniel 24. Jun 2008 08:37

Re: Mysql Problem
 
Hallo "theroad",

bitte gib Deinem Beitrag doch einen aussagekräftigen Titel, danke Dir. ;-)

DeddyH 24. Jun 2008 08:57

Re: Mysql Problem
 
@Raven: das geht bei DirectMysql alles etwas anders, es gibt dort keine Datasets in dem Sinne.

RavenIV 24. Jun 2008 10:00

Re: Mysql Problem
 
Zitat:

Zitat von DeddyH
@Raven: das geht bei DirectMysql alles etwas anders, es gibt dort keine Datasets in dem Sinne.

Warum benutzt Du dann dieses?
Schwenk doch um zu z.B. ZEOS und Du hast Dir einige Probleme vom Hals geschafft.

DeddyH 24. Jun 2008 10:06

Re: Mysql Problem
 
Ich benutze ZEOS ;) , aber der TE wohl nicht.

theroad 25. Jun 2008 12:36

Re: Mysql Problem
 
Zitat:

Zitat von soulies
hi,

greif über '.FieldValue(...)' // ... = wert deiner anfrage
auf die einzelnen Positionen zu

Bsp:
Delphi-Quellcode:
 sql_statement := 'Select Vorname,Name From Tabelle Where ID=1;'
 ergebnis := mysql(sql_statement_ausführen);
 edt_vorname := ergebnis.FieldValue(0);
 edt_name   := ergebnis.FieldValue(1);
 freeandnil(ergebnis);

cya

Wie gehe ich hiermit um?

Ich habs eben mal versucht ich muss die Variabelen noch deklarieren.

muss ich auch noch was in die Uses schreiben? oder noch eine Komponente rüberzihen??

Vielen Dank an euch alle!

MFG

DeddyH 25. Jun 2008 12:39

Re: Mysql Problem
 
Es muss edt_vorname.Text bzw. edt_name.Text heißen.

[edit] Ich bin dabei aufgrund der Benennung davon ausgegangen, dass es sich hier um 2 Edits handelt. [/edit]

theroad 25. Jun 2008 12:46

Re: Mysql Problem
 
Das habe ich alles aber ich bekomme alles rot unterkringelt:

Zitat:

[DCC Fehler] Unit2.pas(194): E2066 Operator oder Semikolon fehlt
[DCC Fehler] Unit2.pas(194): E2003 Undefinierter Bezeichner: 'mysql'
[DCC Fehler] Unit2.pas(195): E2018 Record, Objekt oder Klassentyp erforderlich
[DCC Fehler] Unit2.pas(196): E2018 Record, Objekt oder Klassentyp erforderlich
Müssen die Variabelen vor dem gleich als String oder als Integer deklariert werden?

Vielen Dank im voraus

MFG

soulies 25. Jun 2008 12:50

Re: Mysql Problem
 
Zitat:

Es muss edt_vorname.Text bzw. edt_name.Text heißen.

[edit] Ich bin dabei aufgrund der Benennung davon ausgegangen, dass es sich hier um 2 Edits handelt. [/edit]
richtig - war mein fehler ...

@theroad
meine variable 'mysql' ist deine vom typ 'tmysqlclient' und
meine variable 'ergebnis' ist deine vom typ 'tmysqlresult'

cya

theroad 25. Jun 2008 13:00

Re: Mysql Problem
 
Danke!
jezt habe ich hier aber noch ein kleines Problem:

Zitat:

sql_statement := 'Select Vorname,Name From Tabelle Where ID=1;'
ergebnis := mysql(sql_statement_ausführen);
Ich habe die variabele sql_statement als String deklariert.

Ich glaube das war falsch oder??

Vielen Dank nochmals im voraus! :thumb:

MFG

soulies 25. Jun 2008 13:06

Re: Mysql Problem
 
Zitat:

Ich habe die variabele sql_statement als String deklariert.

Ich glaube das war falsch oder??
Warum ? als string ist ok ...

DeddyH 25. Jun 2008 13:09

Re: Mysql Problem
 
Vielleicht solltest Du erst einmal hier nachlesen.

theroad 15. Nov 2008 12:22

Re: Mysql Problem
 
Hallo,
nach l einiger Zeit wollte ich mich nocheinmal hier heran geben.

Ich hatte es darmals geschafft nur bekomme ich es jetzt plötzllich nciht mehr hin. :(

Mein Quellcode:

Delphi-Quellcode:
  private
    { Private-Deklarationen }
    eancode, sql_statement :string;
    mysql: tmysqlclient;
    ergebnis: tmysqlresult;

eancode:= unit2.Form2.eancode ;
sql_statement := 'Select * From artikel Where ean='+eancode+';'
ergebnis := mysql(sql_statement_ausführen);
eanlabel := ergebnis.FieldValue(0);
preislabel   := ergebnis.FieldValue(1);
freeandnil(ergebnis);
Jetzt bekomme ich diese Fehlermeldungen beim Compilieren:
Zitat:

[DCC Fehler] Unit1.pas(42): E2066 Operator oder Semikolon fehlt
[DCC Fehler] Unit1.pas(42): E2066 Operator oder Semikolon fehlt
[DCC Fehler] Unit1.pas(42): E2010 Inkompatible Typen: 'TMysqlResult' und 'TMysqlClient'
[DCC Fehler] Unit1.pas(43): E2010 Inkompatible Typen: 'TLabel' und 'PAnsiChar'
[DCC Fehler] Unit1.pas(44): E2010 Inkompatible Typen: 'TLabel' und 'PAnsiChar'
[DCC Fehler] Unit2.pas(33): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Vielen Dank im voraus

MFg
TheRoad

mkinzler 15. Nov 2008 12:28

Re: Mysql Problem
 
Eigentlich brauchst du die Fehlermeldung nur Lesen, und das angemahnet ändern!!

Delphi-Quellcode:
sql_statement := 'Select * From artikel Where ean='+eancode+';';
eanlabel.Caption := ergebnis.FieldValue(0);
preislabel.Caption   := ergebnis.FieldValue(1);


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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