Hallo Doro, m�sste Deine letzte Abfrage nicht lauten: Abfrage="SELECT * FROM filme"?
>Aber immer, wenn ich Werte �bergebe, kommt die folgende Fehlermeldung: >1 Parameter wurden erwartet, aber es wurden zu wenig Parameter �bergeben. Wie �bergibst Du denn die Werte? Schreibst Du die auf der Seite von Hand in die Variablen oder machst Du das mittels des Formulars? Lass Dir doch die Variablen mal direkt nach dem F�llen per Response.Write ausgeben. Ist eigentlich immer gew�hrleistet, dass in mindestens zwei Variablen (korrekte) Werte enthalten sind. Sprich: �berpr�fst Du das Formular auf richtige Werte? cu Olli -----Urspr�ngliche Nachricht----- Von: Dorothea Erharter [mailto:[EMAIL PROTECTED]] Gesendet: Donnerstag, 28. November 2002 22:51 An: ASP Diskussionsliste fuer Anfaenger Betreff: [aspdebeginners] Re: Abfrage So, jetzt brauch ich wieder eure Hilfe. Ich hab Formular, das je 2 von 4 Suchbegriffen �bergibt, also immer Kategorie und entweder Regisseur oder Filmtitel oder Jahr. In einer l�ngeren IF-Anweisung wird daraus die entsprechende Abfrage zusammengesetzt. Das funktioniert auch. Ich lasse die Abfrage, bevor ich sie durchf�hr, am Bildschirm ausgeben. Die Variablen�bergabe und Request.Form funktioniert also auch. Als Default-Wert, also ELSE, geb ich der Variable Abfrage den Wert filme, das ist der Name der Tabelle. Wenn also gar keine Werte �bergeben werden, soll die gesamte Tabelle angezeigt werden. Auch das funktioniert. Aber immer, wenn ich Werte �bergebe, kommt die folgende Fehlermeldung: 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter �bergeben. Ich lass den Inhalt der Var. Abfrage ja zuvor ausgeben, wenn ich beispielsweise Titel und Kategorie �bergebe, dann liefert das Response.Write Abfrage: Select * FROM filme WHERE Titel LIKE '%About a boy%' AND filme_Kategorie = 'Kom�die' Was kann da sein? Unten der gesamte Quelltext. lg Doro <% 'Die Verbindung zur Datenbank If IsObject(Session("film_conn")) Then Set conn = Session("film_conn") Else Set conn = Server.CreateObject("ADODB.Connection") strDSNPfad = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("film.mdb") conn.open strDSNPfad,"","" End If '************************** Variablen initialisieren und �bernehmen ************************* Regisseur = "" Filmtitel = "" Jahr = "" Kategorie = "" Regisseur = Request.Form("Regisseur") Filmtitel = Request.Form("Filmtitel") Jahr = Request.Form("Jahr") Kategorie = Request.Form("Kategorie") '*****************************Abfrage in Abh�ngigkeit des Absenders **************************** Dim Abfrage If (Kategorie = "" And Regisseur <> "") Then Abfrage = "SELECT * FROM filme WHERE Regisseur LIKE '%" & Regisseur & "%'" ElseIf (Kategorie = "" And Filmtitel <> "") Then Abfrage = "SELECT * FROM filme WHERE Titel LIKE '%" & Filmtitel & "%'" ElseIf (Kategorie = "" And Jahr <> "") Then Abfrage = "SELECT * FROM filme WHERE Jahr LIKE '%" & Jahr & "%'" ElseIf (Kategorie <> "" And Regisseur <> "") Then Abfrage = "SELECT * FROM filme WHERE Regisseur LIKE '%" & Regisseur & "%' AND filme_Typ = '" & Kategorie & "'" ElseIf (Kategorie <> "" And Filmtitel <> "") Then Abfrage = "SELECT * FROM filme WHERE Titel LIKE '%" & Filmtitel & "%' AND filme_Typ = '" & Kategorie & "'" ElseIf (Kategorie <> "" And Jahr <> "") Then Abfrage = "SELECT * FROM filme WHERE Jahr LIKE '%" & Jahr & "%' AND filme_Typ = '" & Kategorie & "'" ElseIf (Kategorie <> "") Then Abfrage = "SELECT * FROM filme WHERE filme_Typ = '" & Kategorie & "'" Else Abfrage = "filme" End If Response.Write "<p>" & Abfrage & "</p>" '*****************************Verbindung zur Tabelle mit Abfrage **************************** ' Verbindung zur Tabelle filme Set Film = Server.CreateObject("ADODB.Recordset") Film.open Abfrage, conn 'Statt dem Namen der Tabelle die Abfrage '******************* Zun�chst mal eine Tabelle auslesen ohne Abfrage ************************* Response.Write "<table border='1'>" Film.MoveFirst 'Geht zum ersten Datensatz While Not Film.EOF 'Solange nicht das Ende der Tabelle erreicht ist - EOF: End Of File Response.Write "<tr>" Response.Write "<td>" & Film("Titel") & "</td><td>" & Film("Autor") & "</td><td>" & Film("Regisseur") & "</td><td>" & Film("Schauspieler") & "</td><td>" & Film("Inhalt_kurz") & "</td><td>" & Film("Jahr") & "</td><td>" & Film("Land") & "</td><td>" & Film("Kategorie") & "</td>" Response.Write "</tr>" Film.MoveNext 'GEht zum n�chsten Datensatz Wend 'Geht zum Anfang der Schleife, dh macht f�r den n�chsten Datensatz das gleiche nocheinmal Response.Write "</table>" '******************* Am Ende wird die Verbindung zur Tabelle geschlossen ******************** 'Verbindung zur Tabelle schlie�en Film.close Set Film = Nothing %> ----- Original Message ----- From: <[EMAIL PROTECTED]> To: "ASP Diskussionsliste fuer Anfaenger" <[EMAIL PROTECTED]> Sent: Tuesday, November 26, 2002 8:44 AM Subject: [aspdebeginners] Re: Abfrage : Hallo, : : kommentiere mal die Zeile aus, in der du das Recordset �ffnest und : wende mal ein response.write(Abfrage) an. die Fehlermeldung deutet : n�hmlich darauf hin, das die SQL-Anweisung nicht vollst�ndig ist, : genauer gesagt scheint es sich um eine fehlende Spezifizierung in der : Where-Klausel. : : Rainer : : : : > Liebe Leute, : > : > findet von euch wer den Fehler? : > Die Verbindung zur Datenbank klappt, zur Tabelle ohne Abfrage auch, : aber mit : > der Abfrage kommt die Fehlermeldung: : > : > Syntaxfehler (fehlender operator) in : Abfrageausdruck: 'Titel=Filmtitel' : > : > '************************** Variablen�bergabe : ************************* : > Regisseur = Request.Form("Regisseur") : > Filmtitel = Request.Form("Filmtitel") : > Jahr = Request.Form("Jahr") : > Kategorie = Request.Form("Kategorie") : > '*****************************Verbindung zur Tabelle mit Abfrage : **************************** : > : > ' Verbindung zur Tabelle filme : > Set Film = Server.CreateObject("ADODB.Recordset") : > Dim Abfrage : > Abfrage = "SELECT * FROM filme WHERE Titel = " & Filmtitel : > Film.open Abfrage, conn : > : > Die Fehlermeldung ist in der Zeile, in der das Recordset aufgemacht : wird, : > also in der letzten. : > Was mach ich falsch? : > : > lg : > Doro : : : : | Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/ : | [aspdebeginners] als [EMAIL PROTECTED] subscribed : | http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv : | Sie knnen sich unter folgender URL an- und abmelden: : | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp : | Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/ | [aspdebeginners] als [EMAIL PROTECTED] subscribed | http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv | Sie knnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp | Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/ | [aspdebeginners] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv | Sie knnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp
