Teile eines Strings ersetzen
-
Hallo zusammen,
ich hab mal wieder ein Problem, für das ich im Moment keine Lösung find.
ich habe eine SQL-Tabelle in der ich Reportdaten speichere. Unter anderem sind dort auch die entsprechenden SQL-Statements für die Reports hinterlegt. Ich wähle zur Laufzeit einen Report aus, der Datensatz wird gelesen und die DataSource wird geöffnet. so weit so gut.
Nun sind aber diverse Daten wie Adressen mandantenabhängig. Das heißt ich brauche in der Tabelle einen Platzhalter, der zur Laufzeit durch die korrekte Mandantennummer ersetzt werden muss.
z. B. so: "select * from adressen where mandnr = [Platzhalter] order by..."
Diesen Platzhalter muss ich dann im BCB6 durch einen numerischen Wert ersetzen, bevor ich die DataSource öffne. Da gibts doch sicher ne einfache Lösung für, auf die ich mal wieder net komm...
Danke für eure Hilfe...
-
z.B. mittels
WHERE (mandnr = :p_mandnr)kann man anschließend p_mandnr als Parameter setzen. Aus dem BCB heraus z.B. mit
ADOQuery1->ParamByName("p_mandnr")->AsInteger = // gewünschte MandantennummerDu kannst allerdings auch in dem Statement nach [Platzhalter] suchen und diesen Ausdruck direkt durch die Nummer ersetzen.
-
Danke für deine Hilfe,Joe. ich glaub über die Parameter is das wohl am schnellsten gemacht. also ran...