Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi eintrag zur db hinzufügen und auslesen (https://www.delphipraxis.net/93691-eintrag-zur-db-hinzufuegen-und-auslesen.html)

DeddyH 12. Jun 2007 15:28

Re: eintrag zur db hinzufügen und auslesen
 
Zitat:

Zitat von ph0
hallo ich verwende mysql direct.

Nur, dass wir uns richtig verstehen: das sind keine Komponenten, sondern Units mit Klassen (in uMySQLClient.pas, uMySQLError.pas etc.)?

ph0 12. Jun 2007 15:34

Re: eintrag zur db hinzufügen und auslesen
 
ja richtig....

DeddyH 12. Jun 2007 15:37

Re: eintrag zur db hinzufügen und auslesen
 
Dann versuch mal
Delphi-Quellcode:
FResult.FieldValueByName('Name')
Das sollte dann ein PChar sein.

//Edit: Sorry, das muss natürlich nname heißen.

ph0 12. Jun 2007 15:44

Re: eintrag zur db hinzufügen und auslesen
 
ja das kennt er und programm startet auch allerdings stoppt er jetzt hier:
Delphi-Quellcode:
      for i:=0 to fFieldsCount-1 do

DeddyH 12. Jun 2007 15:46

Re: eintrag zur db hinzufügen und auslesen
 
fFieldsCount ist eine private Property von TMysqlResult. Benutze mal FieldsCount.

ph0 12. Jun 2007 15:53

Re: eintrag zur db hinzufügen und auslesen
 
ändert sich nicht stoppt da immer noch...


Delphi-Quellcode:
begin
  result:=-1;
  if aName<>'' then
    begin
      for i:=0 to FieldsCount-1 do
        if not CaseSensitive then
          begin
            if uppercase(FieldDef(i).Name)=uppercase(aName) then
              begin
                result:=i;
                break;
              end;
          end
        else
          if FieldDef(i).Name=aName then
            begin
              result:=i;
              break;
            end;
    end;
end;

////////////////////////////////////////////////////////////////////////////////
// returns the value of a field with a specific name or nil if there is no field with that name
//note: there may be fields with nil value ... so do not take the result as there is no field with that name
function TMysqlResult.FieldValueByName(aName: string;
  CaseSensitive: boolean): pchar;
begin
  result:=FieldValue(FieldIndexByName(aName,CaseSensitive));
end;

end.
bei mir siehts so aus:
Delphi-Quellcode:
 q:='Select (`nname`, `vname`)'+' From '+'(`user`)'+' WHERE '+'(`id=1`)';
  FResult:= FMysql.query(q, true, ex);

  label19.caption:=(fresult.FieldvalueByName('nname')+ ', ' + fresult.FieldValueByName('vname'));
EDIT:wenn ich allerding das ausführe klappts....
Delphi-Quellcode:
    q:='Select (`id`)'+' From '+'(`user`)';
    FResult:= FMysql.query(q, true, ex);
    anzahl:=strtoint(fresult.FieldValueByName('id'))+1;

ph0 12. Jun 2007 16:24

Re: eintrag zur db hinzufügen und auslesen
 
áhh fehler gefunden: man kann immer nur eine sache abfragen.....aber das ist doch scheiße...

mkinzler 12. Jun 2007 16:46

Re: eintrag zur db hinzufügen und auslesen
 
Zitat:

Zitat von ph0
áhh fehler gefunden: man kann immer nur eine sache abfragen.....aber das ist doch scheiße...

Nimm halt andere Komponenten.

DeddyH 12. Jun 2007 17:43

Re: eintrag zur db hinzufügen und auslesen
 
Zitat:

Zitat von ph0
man kann immer nur eine sache abfragen.....aber das ist doch scheiße...

Das mag ich irgendwie nicht glauben. Meinst Du ein Tabellenfeld oder einen Datensatz?

marabu 12. Jun 2007 19:09

Re: eintrag zur db hinzufügen und auslesen
 
Hallo,

Delphi-Quellcode:
q:='Select (`nname`, `vname`)'+' From '+'(`user`)'+' WHERE '+'(`id=1`)';
was ist das denn für eine ulkige Syntax?

Ich würde es so versuchen:

Delphi-Quellcode:
q := Format('SELECT nname, vname FROM user WHERE id = %d', [1]);
Außerdem finde ich den Namen USER für eine Tabelle nicht sonderlich clever - es könnte sich um ein reserviertes Wort handeln.
Statt der 1 als Argument kann natürlich auch eine Integer-Variable verwendet werden.
Ansonsten zeigt das Beispiel von Martin Strohal (siehe Methode TableContent), wie man mehrere Zeilen mit mehreren Feldern abrufen kann.

Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 Uhr.
Seite 3 von 4     123 4      

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