Hallo Oli, die letzte Abfrage ist ja gar keine Abfrage, da nehm ich nur gleich die Variable Abfrage um mir eine weitere if-Anweisung zu ersparen und lass einfach die ganze Tabelle ausgeben. Die WErte kommen aus einem Formular, das funktioniert, ich hab das mit dem Response.Write schon gemacht, und ich hab ja auch die Werte der Variablen am Screen, weil ich die Abfragen ja immer ausgeben lass. Dass ich korrekte Werte hab, ist au�erdem ja auch durch die if-Anweisungen gew�hrleistet.
Hm. Eines k�nnte sein: dass die Werte in dem SELECT-Feld mit denen in der Datenbank nicht �bereinstimmen. Hei�er Tipp. Werd ich gleich �berpr�fen. --> Hab ich �berpr�ft, das funkt eigentlich. Das bittere ist, dass es immer so lange funktioniert, solange ich mit LIKE arbeite. Sowie ich umstelle auf =, funktionierts nicht mehr. Ich werd auch als n�chstes lauter LIKEs aus den = machen, auch wenn s nicht die feine Englische ist, wahrscheinlich funktionierts. Gibt es eigentlich irgendeinen VERBALEN Befehl statt dem =? zB IS? lg Doro ----- Original Message ----- From: "K�nig, Oliver" <[EMAIL PROTECTED]> To: "ASP Diskussionsliste fuer Anfaenger" <[EMAIL PROTECTED]> Sent: Friday, November 29, 2002 9:29 AM Subject: [aspdebeginners] AW: Re: Abfrage : 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 : | 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
