Laden...

Parametrisiertes SQL in ACCESS 2003 möglich?

Erstellt von GutmannHGW vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.165 Views
G
GutmannHGW Themenstarter:in
48 Beiträge seit 2007
vor 16 Jahren
Parametrisiertes SQL in ACCESS 2003 möglich?

verwendetes Datenbanksystem: ACCESS 2003 (*.mdb)

Also z.B. "SELECT * FROM Kunden Where KD_ID=@KDNr"

Mfg Michael

476 Beiträge seit 2004
vor 16 Jahren

Hallo GutmannHGW,

ja, allerdings wird beim OLEDB-Datenprovider der Parameter mit "?" angegeben.


SELECT * FROM Kunden Where KD_ID=?

Bei mehreren Parametern musst du unbedingt auf die Reihenfolge achten, der erste Parameter wird durch das erste "?" repräsentiert usw...

-yellow

Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).

Mein Blog: Yellow's Blog auf sqlgut.de

W
25 Beiträge seit 2006
vor 16 Jahren
OLEDB-Datenprovider der Parameter mit "?" angegeben ?

Ist mir noch nicht so aufgefallen.

Wenn ich ein ADO.Net - Command verwende, kann ich den Parameter auch mit
@Parametername benamsen, was ich auch viel besser finde, als dieses '?'

Mit freundlichen Grüßen

Walter Grimm

476 Beiträge seit 2004
vor 16 Jahren

hallo Walter Grimm,

vielleicht mag ich mich Ihren, aber in der MSDN ist folgender Hinweis zu finden:
Anstelle benannter Parameter verwendet der OLE DB-.NET Framework-Datenanbieter mit einem Fragezeichen (?) markierte Positionsparameter.

-yellow

Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).

Mein Blog: Yellow's Blog auf sqlgut.de

G
GutmannHGW Themenstarter:in
48 Beiträge seit 2007
vor 16 Jahren

Also das von Yellow habe ich getestet u. das ging.
Das mit den "@KD_ID" ging mit dem System.Data.OleDb..." nicht - welchen meintest du Walter?

Noch eine allgemeine Frage zu Parametern:
Problem:
Kann man auch den Tabellennamen oder Feldnamen als Parameter setzen?
Erwartung:
Damit könnte man z.B. erreichen eine flexiblere Abfrage zu erstellen die für mehrere Tabellen arbeitet u. mann muss nicht mit dem CommandText - String herumspielen (Replace etc.)

Lösung: ???

Mfg Michael

476 Beiträge seit 2004
vor 16 Jahren

Hallo GutmannHGW,

nein, die Tabellen- und Feldnamen können nicht über Parameter angegeben werden.

-yellow

Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).

Mein Blog: Yellow's Blog auf sqlgut.de

G
GutmannHGW Themenstarter:in
48 Beiträge seit 2007
vor 16 Jahren

Würde man jedes Statement dann seperat speichern müssen wenn es für eine andere Tabelle gelten soll?

Bietet es sich an die SQL Statements in den Anwendungseinstellungen (also dieser *.xml Datei) mit speichern zu lassen?
Hatte das mal getestet u. ich hatte dann "\r\n" also Zeilenumbrüche drinn. Kann man solche Formatierung zur Not deaktivieren?

Mfg Michael