verwendetes Datenbanksystem: SQL Server 2005
Ich versuche gerade, meine Anwendung auf parametrisierte Abfragen umzustellen.
Nun habe ich ein komisches Problem:
public const string GetLala = @"SELECT COUNT(tblA.keyLala) AS AnzahlLala
FROM tblA
WHERE (tblA.keyLala = [@KeyLala])";
Wenn ich diese SQL-Abfrage nun im Code ausführe, erhalte ich die Fehlermeldung, dass @KeyLala eine ungültige Spalte ist.
Entferne ich die [] wird gemeckert, dass keine Variable @KeyLala definiert wurde.
Führe ich die Abfrage direkt auf dem Server aus (ohne []), soll ich einen Wert für @KeyLala definieren und danach funktioniert die Abfrage ohne Probleme.
Lange rede, kurzer Sinn: ich dachte, dass zum Definieren die [] genutzt werden, offensichtlich ein Irrtum.
Wie funktioniert es denn richtig?
Hallo Bill,
Du sprichst davon, dass Du die Abfrage im Code ausführen willst, gibst aber keinen Code an. Der entscheidende Hinweis für Dich kann deshalb nur allgemein lauten: Benutze einen **SqlCommand **mit SqlParameter; Beispiele dazu gibt es in der :rtfm:
Gruß Jürgen