AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

D09 MySQL C-API ExecQry

Ein Thema von AMaurer · begonnen am 16. Mai 2011 · letzter Beitrag vom 16. Mai 2011
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

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

AW: D09 MySQL C-API ExecQry

  Alt 16. Mai 2011, 15:27
Ins Blaue geraten:
Cols[i] := Field^.name; Klappt es so?
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
AMaurer

Registriert seit: 14. Dez 2010
34 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: D09 MySQL C-API ExecQry

  Alt 16. Mai 2011, 16:58
Ins Blaue geraten:
Cols[i] := Field^.name; Klappt es so?
Auf diese Idee bin ich meiner gestrigen Verzweiflung auch schon gekommen. Habe es eben noch einmal probiert. Leider ohne Erfolg.

VG Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: D09 MySQL C-API ExecQry

  Alt 16. Mai 2011, 17:13
Kannst Du mal die Deklaration von PMYSQL_FIELD bzw. TMYSQL_FIELD posten?
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
AMaurer

Registriert seit: 14. Dez 2010
34 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: D09 MySQL C-API ExecQry

  Alt 16. Mai 2011, 17:22
Kannst Du mal die Deklaration von PMYSQL_FIELD bzw. TMYSQL_FIELD posten?
Here they are.
Sind direkt aus mysql.pas

TMYSQL_FIELD = TMYSQL_FIELD401;
PMYSQL_FIELD = Pointer;
  Mit Zitat antworten Zitat
AMaurer

Registriert seit: 14. Dez 2010
34 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: D09 MySQL C-API ExecQry

  Alt 16. Mai 2011, 17:23
Kannst Du mal die Deklaration von PMYSQL_FIELD bzw. TMYSQL_FIELD posten?
Here they are.
Sind direkt aus mysql.pas

TMYSQL_FIELD = TMYSQL_FIELD401;
PMYSQL_FIELD = Pointer;
und bevor Du noch einmal fragen musst ...

TMYSQL_FIELD401 = record
name: PAnsiChar; // Name of column
org_name: PAnsiChar; // Original column name, if an alias
table: PAnsiChar; // Table of column if column was a field
org_table: PAnsiChar; // Org table name if table was an alias
db: PAnsiChar; // Database for table
catalog: PAnsiChar; // Catalog for table
def: PAnsiChar; // Default value (set by mysql_list_fields)
length: longword; // Width of column
max_length: longword; // Max width of selected set
name_length: longword;
org_name_length: longword;
table_length: longword;
org_table_length: longword;
db_length: longword;
catalog_length: longword;
def_length: longword;
flags: longword; // Div flags
decimals: longword; // Number of decimals in field
charsetnr: longword; // Character set
_type: enum_field_types; // Type of field. Se mysql_com.h for types
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: D09 MySQL C-API ExecQry

  Alt 16. Mai 2011, 18:21
Das ist ja putzig. Bringt es etwas, wenn Du die Variabe einmal umbenennst? Ansonsten gehen mir auch die Ideen aus
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
AMaurer

Registriert seit: 14. Dez 2010
34 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: D09 MySQL C-API ExecQry

  Alt 16. Mai 2011, 18:29
Das ist ja putzig. Bringt es etwas, wenn Du die Variabe einmal umbenennst? Ansonsten gehen mir auch die Ideen aus
Also ... ich habe auch weitergesucht und in einer ältern mysql.pas folgende Deklaration gefunden:

type
PMYSQL_FIELD = ^TMYSQL_FIELD;
TMYSQL_FIELD = record
name: pChar; // Name of column
table: pChar; // Table of column if column was a field
def: pChar; // Default value (set by mysql_list_fields)
_type: enum_field_types; // Type of field. Se mysql_com.h for types
length: longword; // Width of column
max_length: longword; // Max width of selected set
flags: longword; // Div flags
decimals: longword; // Number of decimals in field
end;

Wie Du siehst steht dort oben: PMYSQL_FIELD = ^TMYSQL_FIELD;

Diese Verbindung fehlt uns in der "neuen" mysql.pas. (Nein, die alte läuft nicht unter D2009 pChar und nicht pAnsiChar).

Wenn ich Field : TMYSQL_Field deklariere kann ich zwar .Name auswählen. Dann habe ich aber das Problem, dass Field nun ein Record ist und mein Ergebnis ein Zeiger ...

Noch ne Idee?

VG Andreas
  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 08:06 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