![]() |
Datenbank: Mysql • Version: 5.2.x • Zugriff über: ADO
Mysql Numerische Feldnamen
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. |
Re: Mysql Numerische Feldnamen
|
Re: Mysql Numerische Feldnamen
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.................. |
Re: Mysql Numerische Feldnamen
Wie wäre es mit
![]() |
Re: Mysql Numerische Feldnamen
Moin,
die Verwendung von Format() hat ![]()
Delphi-Quellcode:
Ich habe die Ansi Quotes verwendet - ich mag die backticks nicht: SET sql_mode='ANSI_QUOTES'
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; Freundliche Grüße |
Re: Mysql Numerische Feldnamen
hallo marabu,
hallo berhard?!? vielen dank für diese info's. genau das löst mein problem. :hi: :spin: wieder einiges gelernt! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 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