Uwe Nohl: Warum kommt - Entweder BOF oder EOF ist True - beim 1.Aufruf?

Beitrag lesen

Hallo EfkA,

habe Deinen Code so gut es für einen aussenstehenden geht gelesen. Folgendes ist mir aufgefallen:
--
»»  Hauptgruppe=request.Form("Hauptgruppe")
»»  if Hauptgruppe="" then Hauptgruppe=0
»»  Untergruppe=request.Form("Untergruppe")
»»  if Untergruppe="" then Untergruppe=0

%>

Hier bist Du von leerem String zur Zahl 0 gewechselt. Der VBScript-Variant machts möglich.

<span class="anmeldung">Hauptgruppe:</SPAN>

<% set rs=db.Execute("SELECT bezeichnung,hauptgruppe FROM gruppen WHERE untergruppe=0") %>

In der DB wird dann nach der Zahl 0 gesucht. Woher hat aber Request.Form("Hautgruppe") den leeren String? Gut, der Wert kann NULL sein, aber ist das bei Dir so?

Die Ausgabeseite sieht dann so aus:

<%

»»  Hauptgruppe=request.Form("Hauptgruppe")
»»  Untergruppe=request.Form("Untergruppe")

Ist dann ja 0

set rsHG1=dbAdressen.Execute("SELECT Bezeichnung,Hauptgruppe,HG1 FROM Gruppen,Hersteller WHERE HG1 LIKE Hauptgruppe AND Email LIKE '" &Email& "'")

Hier fällt mir auf, dass Du im sql-state eine Variable, nämlich Hauptgruppe, einfach einsetzst, und nicht die korrekte Verkettung von String und Variablen verwendest, es sollte doch IMHO heissen:
WHERE HG1 LIKE " & Hauptgruppe & " AND ...

Vielleicht sehe ich das alles nicht richtig und verstehe davon nicht genug, aber hier erscheint mir einiges ungereimt. Hoffe zur Lösung beigetragen zu haben.

Gruss
Uwe Nohl