PDA

Vollständige Version anzeigen : Variable in SQL-Code


gabriella
08.06.2001, 10:43
Hallo allerseits!

Ich schlage mich damit rum eine Access-Datenbank per asp-Dokument abzufragen. Während meiner Ausbildung habe ich das auf dem SQL-Server gemacht, aber laut unserem Provider muss man bei Access-Datenbanken einen etwas veränderten SQL-Code verwenden.
Wie mache ich das aber in einer Access-Datenbank.

Ich frage in meinem ersten formular.asp nach einer Eingabe, welche ich in
meinem zweitem asp-Dokument mittels VBScript als Variable einlese:

such=” ’ ”+cstr(Request.Form("gruss_nr"))+” ‘ “

Mit dieser eingelesenen Variable möchte ich meine SQL-Abfrage machen.
Meine vielen Varianten lauten:

sql = "SELECT gruss FROM begruessung WHERE gruss_id = ' " + such + " ' "
sql = "SELECT gruss FROM begruessung WHERE gruss_id LIKE ' " + such + " ' "

Ich bekomme eine Fehlermeldung in der WHERE-Klausel:
Syntaxfehler (fehlender Operator)

Bei den Varianten:

sql = "SELECT gruss FROM begruessung WHERE gruss_id = " + such
sql = "SELECT gruss FROM begruessung WHERE gruss_id = " & such & " ; "

heißt die Fehlemeldung:
Datentypen in Kriterienausdruck unverträglich

Hat mir da jemand einen Tip? Oder auch empfehlenswerte Literatur zu diesem Thema?

Herzlichen Dank schon mal!
Gabriella

Stema
08.06.2001, 14:53
Hallo Gabriella,
die ID ist die ID einer Tabelle, oder? Dann hat sie ein Zahlenformat. Dann mußt Du auch Deine var. such als integer oder long (besser long) definieren.

such=cstr(Request.Form("gruss_nr"))
sql = "SELECT gruss FROM begruessung WHERE gruss_id = " & such

So sollte es funktionieren.

gabriella
11.06.2001, 17:03
Hallo Stema!

Vielen Dank für Deine Antwort.
Das Problem lag auch noch woanders. Nun läuft's und die Lösung heißt:

such=cstr(Request.form("gruss_nr"))

sql = "SELECT begruessung.gruss, begruessung.gruss_id FROM begruessung WHERE(((begruessung.gruss_id)=" + such + "));"