Hallo Forum,
ich poste erst einmal zum Verständnis folgenden Code:
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "LundbeckMitarbeiter"
strUser = Request.Servervariables("LOGON_USER")
strUser = Right(strUser,Len(strUser)-9)
SQL = "SELECT * FROM Lundbeck where email = " & strUser
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
%>
<%=rs.Fields("Vorname")%> <%=rs.Fields("Nachname")%>
<%
conn.close
%>
Nun zu meinem Problem: Ich schaffe es nicht, den Wert von "strUser" als Bedingung in der SQL Abfrage zu nutzen. Folgende Fehlermeldung bekomme ich:
"Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e10'
[Microsoft][ODBC Microsoft Access 97 -Treiber] 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.
/Lu-D_1/Test/username.asp, Zeile 45"
Zeile 45 wäre in diesem Script: "rs.Open sql, conn, 3, 3".
Schreibe ich "response.write strUser" bekomme ich den gewollten Wert ausgegeben.
Das DB Feld ist als Textfeld markiert.
Gebe ich nun eine Variable vor (z. B. SQL = "SELECT * FROM Lundbeck where email = 'tkr' "), die in der DB auch existiert, bekomme ich auch das richtige Ergebnis.
Verschiedene Versuche, den String umzustellen, haben auch keinen Erfolg gebracht. Leider auch nicht die Suche im Archiv oder im HTML. Falls ich etwas übersehen habe - sorry....
Was mache ich falsch? Oder mache ich grundsätzlich einen Denkfehler..?
Tomcat
"Der Fehler sitzt meistens vor dem Monitor" (Unbekannt) ;-)