Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   dynamische variable (https://www.delphipraxis.net/153140-dynamische-variable.html)

arcon 22. Jul 2010 14:20

Datenbank: ms sql • Version: 2005 • Zugriff über: ...

dynamische variable
 
hallo miteinander ..

hab mal folgende frage

ich benutze folgenden tabellenaufbau...

parameter | Value
Parameter 1 Description | Versuch
Parameter 1 Group | Messen
Parameter 2 Description | Versuch 1
Parameter 2 Group | Prüfen

wie kann ich die 1 bzw. die 2 in der spalte parameter durch einen art "platzhalter " ersetzen .. sozusagen , dass ich das durch eine variable definiere .. und die ich dann für die zahl ersetze .. das ganze soll dann in einer select abfrage eingebaut werden ..

also so in etwa

Code:
declare @variable as integer
set @variable = 1

select parameter, Value
from parameter_settings
where parameter = parameter + @VARIABLE + Description
jedoch briingt mir der den fehler :

Msg 207, Level 16, State 1, Line 7
Invalid column name 'parameter'.
Msg 207, Level 16, State 1, Line 7
Invalid column name 'Description'.


wie muss die where anweisung richtig lauten, damit ich einen zusammengesetzen "string" habe ?!?

himitsu 22. Jul 2010 14:26

AW: dynamische variable
 
irgendwie so?
SQL-Code:
WHERE parameter = 'parameter ' + @VARIABLE + ' Description'
.

du mußt es auf jedenfall irgendwie als 'String' kennzeichnen

arcon 22. Jul 2010 14:29

AW: dynamische variable
 
auch schon ausprobiert .. in jeglicher variante .. selbst mit [] habe ich es ausprobiert ..
nix klappt ...

arcon 22. Jul 2010 14:37

AW: dynamische variable
 
lösung:


declare @variable as nvarchar(255)
set @variable = '1'
declare @Parameter as nvarchar(255)
set @Parameter = 'Parameter '
declare @Description as nvarchar (255)
set @Description = ' Description'
declare @Param as nvarchar(255)
set @Param = @Parameter + @Variable + @Description


select param, Value
from param_settings
where param = @param

DeddyH 22. Jul 2010 14:43

AW: dynamische variable
 
Andere Idee:
SQL-Code:
WHERE Parameter = 'Parameter ' + CAST(@variable as varchar) + ' Description'
Dann kann die Variable nummerisch bleiben (sofern es so funktioniert, kann ich hier nicht testen).

arcon 22. Jul 2010 14:46

AW: dynamische variable
 
danke deddyH

es funktioniert !
und sieht viel eleganter aus :D

danke !


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 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