Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Creazione Query dinamica

    Sto provando a costruire la mia prima query dinamica...
    sto inserendo le condizioni affinchè se non vengono compilati tutti i campi la pagina possa sempre effettuare la query con i soli dati inseriti.

    Devo costruirla in questo modo o c' è un metodo più semplice?

    codice:
    <%
        	Dim catalogoricerca
        	Set catalogoricerca = Server.CreateObject("ADODB.Recordset")
        	Dim SQLcatalogoricerca
        	SQLcatalogoricerca = "SELECT * FROM catalogo where"
    		if Request.Form("categoria") <> "no" AND Request.Form("codice") = "" then
    		SQLcatalogoricerca = SQLcatalogoricerca & " categoria='" & Request.Form("categoria") & "'"
    		elseif Request.Form("categoria") = "no" AND Request.Form("codice") <> "" then 
    		SQLcatalogoricerca = SQLcatalogoricerca & " codice='" & Request.Form("codice") & "'"
    		elseif Request.Form("categoria") <> "no" AND Request.Form("codice") <> "" then
    		QLcatalogoricerca = SQLcatalogoricerca & " (codice='" & Request.Form("codice") & "' AND categoria='" & Request.Form("categoria") & "')"
    		end if
        	conn.Execute(SQLcatalogoricerca)
        	catalogoricerca.Open SQLcatalogoricerca, conn
    		%>

  2. #2
    controlla un campo alla volta altrimenti non ne esci più
    inoltre assegna i valori letti a delle varibili

    Spero di aver ben interpretato gli if che volevi fare

    codice:
    Dim catalogoricerca
    Set catalogoricerca = Server.CreateObject("ADODB.Recordset")
    Dim SQLcatalogoricerca
    dim codice, categoria
    codice=Request.Form("codice")
    categoria=Request.Form("categoria")
     	
       
    SQLcatalogoricerca = "SELECT * FROM catalogo where 1=1"
    if categoria <> "no" then
    	SQLcatalogoricerca = SQLcatalogoricerca & " and categoria='" & categoria & "'"
    end if
    if codice <> "" then
    	SQLcatalogoricerca = SQLcatalogoricerca & " and codice='" & codice & "'"
    end if
    ps ho inserito la condizioni 1=1 (sempre verificata) in modo da non dover effettuare un controllo sull'eventuale esistenza del comando where all'interno della query.

    quando categoria=no e codice='' viene eseguita la query SELECT * FROM catalogo where 1=1
    che restituisce gli stessi risultati della query SELECT * FROM catalogo


  3. #3
    Grazie mille!!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.