AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mysql Numerische Feldnamen
Thema durchsuchen
Ansicht
Themen-Optionen

Mysql Numerische Feldnamen

Ein Thema von Faxman · begonnen am 3. Nov 2007 · letzter Beitrag vom 4. Nov 2007
Antwort Antwort
Faxman

Registriert seit: 9. Jun 2006
Ort: Mainz
17 Beiträge
 
Delphi 7 Architect
 
#1

Mysql Numerische Feldnamen

  Alt 3. Nov 2007, 18:35
Datenbank: Mysql • Version: 5.2.x • Zugriff über: ADO
Hallo zusammen,

hier mein aktuelles problem.
eine mysql tabelle hat nummern als Sspaltenbezeichner (47,67,.....).
wenn ich nun über ado auf dies felder zugreifen will ist dies nur mit quoted srings in der form:
select `47` from tabelname where whatever möglich.
da diese feldnamen dynamisch abgefragt werden sollen steht anstelle des feldnamens `47` ein :parameter
also so:
DM_Base_Data.ADOQ_Multi.SQL.Add('select :myvalue as calcprice from preis_matrix where preis_matrix.43=1.99');
DM_Base_Data.ADOQ_Multi.Parameters.ParamValues['myvalue']:=47;

quotes die notwendig währen um das feld/spalte richtig anzusprechen können nicht übergeben werden,
zumindest ich weis nicht wie.

habt ihr eine idee?
AnsiQuotedString scheint auch keine lösung zu sein.

help please


danke im voraus.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Mysql Numerische Feldnamen

  Alt 3. Nov 2007, 18:56
Hallo,

lies mal mindestens diesen Beitrag: klick - eventuell den ganzen Thread.

Grüße vom marabu
  Mit Zitat antworten Zitat
Faxman

Registriert seit: 9. Jun 2006
Ort: Mainz
17 Beiträge
 
Delphi 7 Architect
 
#3

Re: Mysql Numerische Feldnamen

  Alt 3. Nov 2007, 19:07
hallo marabu,

danke für die info.
habe parameter bisher auch immer nur bei where etc. verwendet.
das problem ist aber, das der feldnamen dynamisch ist,
hast du einen vorschlag, wie ich das lösen kann?


mir fällt dazu nichts ein.
das problem mit den qouted feldnamen löst sich auch nicht auf.
die einzige möglichkeit wäre für jeden vorkommenden feldnamen 1-n ein eigenes script zu bauen.

mmmm..................
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: Mysql Numerische Feldnamen

  Alt 3. Nov 2007, 19:09
Wie wäre es mit Delphi-Referenz durchsuchenFormat?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Mysql Numerische Feldnamen

  Alt 4. Nov 2007, 09:04
Moin,

die Verwendung von Format() hat Bernhard in dem verlinkten Thread auch schon angedient. Oft verwendet man Format-Strings und SQL-Parameter nebeneinander:

Delphi-Quellcode:
const
  SEL = 'select "%s" as calcprice from preis_matrix where "43" = :value';
var
  colName: string;
begin
  // colName := '47';
  with DM_Base_Data.ADOQ_Multi do
  begin
    SQL.Text := Format(SEL, [colName]);
    Parameters.ParamValues['value'] := 1.99;
    Open;
    // ShowMessage(FloatToStr(Fields[0].AsFloat));
    Close;
  end;
end;
Ich habe die Ansi Quotes verwendet - ich mag die backticks nicht: SET sql_mode='ANSI_QUOTES'

Freundliche Grüße
  Mit Zitat antworten Zitat
Faxman

Registriert seit: 9. Jun 2006
Ort: Mainz
17 Beiträge
 
Delphi 7 Architect
 
#6

Re: Mysql Numerische Feldnamen

  Alt 4. Nov 2007, 12:15
hallo marabu,
hallo berhard?!?

vielen dank für diese info's.

genau das löst mein problem.
wieder einiges gelernt!
  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:58 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