Errore query: Parametri insufficienti. Previsto 3

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
Ragazzi x favore aiutoooo non capisco cosa sbaglio...

Ho una tabella Utenti(naturalmente su acces).. e dei campi Si/No..che mi stanno ad indicare le autorizzazioni di ogni utente..

Esempio: User=pippo - password=pippo - PromoA=Si - PromoB=No - PromoC=Si... e così via..

Poi la tabella Promozioni..ogni Promozione è associata a un Codice...
Esempio:
Promozione:testo della mia promo - Codice=A

L'utente che entra nell'area riservata..potrà visualizzare solo le promozioni ke è autorizzato a vedere..in base alle spunte Si/No..

Sigh nn so se riesco a spiegarmi..

Cmq mi da errore sulla query ke compongo in questo modo...

Codice:
Cod="tutti"
Set Rs=Server.CreateObject("ADODB.Recordset") 'RecordSet tab Promozioni

Sql="Select * from Promozioni where Codice='" & Cod & "' "

'---------------Controllo Autorizzazioni------------------------
if RsUtente("PromoA")=true then Sql=Sql & " and PromoA=true "
if RsUtente("PromoB")=true then Sql=Sql & " and PromoB=true "
if RsUtente("PromoC")=true then Sql=Sql & " and PromoC=true "
if RsUtente("PromoD")=true then Sql=Sql & " and PromoD=true "
if RsUtente("PromoE")=true then Sql=Sql & " and PromoE=true "
if RsUtente("PromoF1")=true then Sql=Sql & " and PromoF1=true "
if RsUtente("PromoF2")=true then Sql=Sql & " and PromoF2=true "

'---------------------------------------------------------------
Sql=Sql & " order by id desc;"


Rs.Open Sql,Conn,3,3

Mi da errore alla riga in cui apro il recordSet:
Parametri insufficienti. Previsto 3

Qualcuno mi aiuta??
:crying:
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
basy82 ha scritto:
...Mi da errore alla riga in cui apro il recordSet:
Parametri insufficienti. Previsto 3 ...
Ciao Lucia (giusto?) ;)

Da quel che mi ricordo questo errore solitamente è dovuto al fatto che i nomi dei campi specificati nella query sono diversi rispetto quelli della tabella vera e propria :)

Prova a fare un controllo in questa direzione

Fammi sapere ;)

SaLuT!
:byebye:
 

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
Ciao..mi kiamo Valentina :)

Cmq ho provato a sostituire i controlli in questo modo...

'---------------Controllo Autorizzazioni----------------------

if RsUtente("PromoA")=1 then Sql=Sql & " and PromoA=" & 1
if RsUtente("PromoB")=1 then Sql=Sql & " and PromoB=" & 1
if RsUtente("PromoC")=1 then Sql=Sql & " and PromoC=" & 1
if RsUtente("PromoD")=1 then Sql=Sql & " and PromoD=" & 1
if RsUtente("PromoE")=1 then Sql=Sql & " and PromoE=" & 1
if RsUtente("PromoF1")=1 then Sql=Sql & " and PromoF1=" & 1
if RsUtente("PromoF2")=1 then Sql=Sql & " and PromoF2=" & 1

'-----------------------------------------------------------

Risultato?
NEssun Errore...ma non entra nella condizione e nn mi filtra nessuna promozione...

Se provo a fare: response.write Sql & " - " & RsUtente("PromoB")
..mi stampa a video questo
Select * from Promozioni where Codice='tutti' order by id desc; - Vero

Ma vero...e 1 nn è la stessa cosa come valore booleano? PErchè nn entra nelle condizioni?
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
basy82 ha scritto:
Ciao..mi kiamo Valentina :)
OPS!! :D :D :D

basy82 ha scritto:
Se provo a fare: response.write Sql & " - " & RsUtente("PromoB")
..mi stampa a video questo
Select * from Promozioni where Codice='tutti' order by id desc; - Vero

Ma vero...e 1 nn è la stessa cosa come valore booleano? PErchè nn entra nelle condizioni?
Mmm. che strano..

Prova allora a modificare le condizioni così:
if RsUtente("PromoA")='Vero' then Sql=Sql & " and PromoA=" & 1
if RsUtente("PromoB")='Vero' then Sql=Sql & " and PromoB=" & 1
if RsUtente("PromoC")='Vero' then Sql=Sql & " and PromoC=" & 1
if RsUtente("PromoD")='Vero' then Sql=Sql & " and PromoD=" & 1
if RsUtente("PromoE")='Vero' then Sql=Sql & " and PromoE=" & 1
if RsUtente("PromoF1")='Vero' then Sql=Sql & " and PromoF1=" & 1
if RsUtente("PromoF2")='Vero' then Sql=Sql & " and PromoF2=" & 1

magari così all'elaboratore piace e te lo fa funzionare ;)
 

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
Niente...avevo già provato ma non va..:dipser:

Cmq ti ringrazio x la disponibilità...
se ti viene in mente qlcs.. :book:
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
basy82 ha scritto:
Niente...avevo già provato ma non va..:dipser:
Lo immaginavo, ed è anche giusto sia così, perchè i vari RsUtente("") non sono campi stringa.. :rolleyes:

Prova a settare le condizioni così allora: ;)
if Cstr(RsUtente("PromoA"))='Vero' then Sql=Sql & " and PromoA=" & 1
e così via..

In questo modo li converti in stringa e puoi confrontarli con ='Vero' (spero :D)

A più tardi!
:byebye:
 

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
PoLe ha scritto:
Ehm.. valentina.. non è per essere puntiglioso.. ma dovresti dirmi CHE errore ti da, altrimenti alla cieca è difficile aiutarti ;)

:p Scusa Pole ma quando mi blocco...sullo stesso problema..per diverse ore... comincio ad innevorsirmi :incazz:
Ho visto ke nn funzionava e l'ho cambiato di nuovo :p

Sai.. è ke nn credo sia la soluzione giusta...converitre in stringa..prima dell'If ..cmq le ho provate tutte (o almeno credo...)

Con l'ultima prova ke mi hai suggerito tu..mi dava errore di sintassi..
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
basy82 ha scritto:
:p Scusa Pole ma quando mi blocco...sullo stesso problema..per diverse ore... comincio ad innevorsirmi :incazz:
Eh eh, come ti capisco! :D

basy82 ha scritto:
Sai.. è ke nn credo sia la soluzione giusta...converitre in stringa..prima dell'If ..cmq le ho provate tutte (o almeno credo...)

Con l'ultima prova ke mi hai suggerito tu..mi dava errore di sintassi..
Ti posso assicurare che converitre in stringa prima dell'If funziona, ho appena provato fidati ;)

Solo ti da errore perchè siccome ero di fretta ho fatto un piccolo errore io: devi mettere gli apici doppi, non singoli, per quello ti da errore di sintassi! :)
if Cstr(RsUtente("PromoA"))='Vero' then Sql=Sql & " and PromoA=" & 1 --> NO
if Cstr(RsUtente("PromoA"))="Vero" then Sql=Sql & " and PromoA=" & 1 --> SI

Altra soluzione poi possibile è scrivere
if RsUtente("PromoA") then Sql=Sql & " and PromoA=" & 1


Ma secondo me l'errore è da un'altra parte, e c'è qualcosa che mi sfugge.. prova come ti ho detto intanto!

:byebye:
 

chycky

Utente Attivo
5 Apr 2006
41
0
0
Solo una ideea....

:rolleyes:
ciao basy82,
erò di passaggio su questa piattaforma e ho visto il tuo post, credo che si tratti solo del fatto che ti mancano degli APICI da qualche parte nello script, prova ad inserire in questo modo, aviso e solo un ideea....:

allora questo e quello che tu hai esposto:
'---------------Controllo Autorizzazioni------------------------
if RsUtente("PromoA")=true then Sql=Sql & " and PromoA=true "
if RsUtente("PromoB")=true then Sql=Sql & " and PromoB=true "
if RsUtente("PromoC")=true then Sql=Sql & " and PromoC=true "
if RsUtente("PromoD")=true then Sql=Sql & " and PromoD=true "
if RsUtente("PromoE")=true then Sql=Sql & " and PromoE=true "
if RsUtente("PromoF1")=true then Sql=Sql & " and PromoF1=true "
if RsUtente("PromoF2")=true then Sql=Sql & " and PromoF2=true "

'---------------------------------------------------------------
Sql=Sql & " order by id desc;"

e adesso l'ideea che io ho:

'---------------Controllo Autorizzazioni------------------------
if RsUtente("PromoA")=true then Sql=Sql & '" and PromoA=true "'
if RsUtente("PromoB")=true then Sql=Sql & '" and PromoB=true "'
if RsUtente("PromoC")=true then Sql=Sql & '" and PromoC=true "'
if RsUtente("PromoD")=true then Sql=Sql & '" and PromoD=true "'
if RsUtente("PromoE")=true then Sql=Sql & '" and PromoE=true "'
if RsUtente("PromoF1")=true then Sql=Sql & '" and PromoF1=true "'
if RsUtente("PromoF2")=true then Sql=Sql & '" and PromoF2=true "'

'---------------------------------------------------------------
Sql=Sql & " order by id desc;"

in genere quando il explorer di da questo messaggio di errore si tratta, come dicevo prima, degli APICI, quindi controlla bene il tuo script.

bye a presto, facci sapere. :byebye:
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
chycky ha scritto:
if RsUtente("PromoA")=true then Sql=Sql & '" and PromoA=true "'
Ciao chychy :)

Grazie per aver deciso di darci una mano, ma non si può fare come dici tu, e ti spiego il perchè:
Quando si va a comporre una stringa in ASP NON si possono mettere all'esterno gli apici singoli, perchè l'apice singolo serve ad indicare l'inizio di un commento.

Facendo come dici
if RsUtente("PromoA")=true then Sql=Sql & '" and PromoA=true "'
andrebbe tutto in bomba, perchè l'elaboratore vedrebbe tutto ciò che appare dopo la & come commento.

Inoltre tieni presente che il problema per il quale stiam porconando da ieri è legato agli IF, non all'assegnazione del valore alla variabile Sql ;)

Comunque Valentina, non mi è ancora venuto in mente nulla.. :p

:byebye:
 

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
Se vi dico ke ho risolto vi basta? O devo dirvi anke cosa sbagliavo???
Se ve lo dico mi uccidete via web!!!!:hammer:
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
basy82 ha scritto:
Se vi dico ke ho risolto vi basta? O devo dirvi anke cosa sbagliavo???
Se ve lo dico mi uccidete via web!!!!:hammer:
Eh eh, beh, ora son curioso però! :D :D :D

Dai valentina, cos'era?
Prometto casomai che la tua sarà un morte rapida, senza sofferenze, ih ih ih! :evil:
 

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
PoLe ha scritto:
Eh eh, beh, ora son curioso però! :D :D :D

Dai valentina, cos'era?
Prometto casomai che la tua sarà un morte rapida, senza sofferenze, ih ih ih! :evil:

Sigh allora confesso....

Ho fatto una confusione..pazzesca..senza alcun motivo..:p

Praticamente..dei campi erano scritti sbagliati nella tab Promozioni..e nn so perchè.. io controllavo la tabella utenti..(ke è rimasta sempre aperta ed io ero convinta di stare controllando la tab giusta!!!)..

Imperdonabile...davvero...
Scusate x il tempo ke vi ho fatto perdere..(e ke il mio cervello a volte(spesso..) si blocca..ed io invece di resettare..continuo..ed i risultati sono questi :eek:

Allora ke morte mi merito??:D
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
basy82 ha scritto:
Sigh allora confesso....
Praticamente..dei campi erano scritti sbagliati nella tab Promozioni..e nn so perchè.. io controllavo la tabella utenti..(ke è rimasta sempre aperta ed io ero convinta di stare controllando la tab giusta!!!)..
Ma pensa te!!! :quote:
E pensa che era dal primo post che ti dicevo di guradare in quella direzione :D
PoLe ha scritto:
...questo errore solitamente è dovuto al fatto che i nomi dei campi specificati nella query sono diversi rispetto quelli della tabella vera e propria :)...

basy82 ha scritto:
Allora ke morte mi merito??:D
Mmmmm... ci penserò, inzia a pregare, muh-ah-ah-ah! :evil:

Eh eh, scherzi a parte, a volte è successo anche qualcosa di simile.. come dicevi qualche tempo fa, siamo tutti, specie agli inizi, vittime dello stress da programmatore! :D

:byebye:
 

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
Bella Scusa...quella dello stress..:D

La verità è ke vado sempre a peggiorare...anzikè migliorare..:hammer:

Ps. hai deciso la pena ke dovrò scontare?
 
Discussioni simili
Autore Titolo Forum Risposte Data
K Inserimento query Errore 1366 PHP 4
Tommy03 [PHP] Errore query selezione avg PHP 0
C [PHP] PDO prepared statement - select query errore PHP 7
D errore query PHP 4
C Errore "Query fallita" PHP 10
felino [PHP][MySQL] Errore nella query PHP 6
blacksbugs Errore nell'invio query PHP 44
valient13 errore nella query PHP 5
K Strano errore in una query mysql da php PHP 5
catellostefano Errore esecuzione query MySQL PHP 4
F Query con errore Database 3
F errore query Classic ASP 4
A Errore di sintassi sulla query multipla in Ultradev Classic ASP 1
M Errore in query mysql su ricerca record PHP 3
C errore query PHP 2
S [MsSQL]Query di Select con errore 80040e07 Database 2
K Errore nella query PHP 1
F errore 1062 su campo nuovo MySQL 4
N Errore interno Access MS Access 2
R mi da errore dove inizia il while PHP 1
R Recupero di permalink di un sito che è stato eliminato per errore WordPress 5
R Yoast SEO errore semafori sempre rossi SEO e Posizionamento 0
S Visualizza l'errore di creazione in MSSQL Database 4
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
P Errore nell'indirizzo degli elementi HTML e CSS 2
Jensen Errore di sintassi con DELETE PHP 3
H Errore su array associativo PHP 1
FDF182 ERRORE 1292 PHP 4
P errore 404 con javascript Javascript 2
felino Windows 7: errore 80072EFE su Windows Update Windows e Software 1
A errore http://datatables.net/tn/7 PHP 4
M Errore visualizzazione meta tag title e description SEO e Posizionamento 1
A Errore durante il salvataggio Photoshop 0
M Errore configurazione motion detection nvr Hikvision DS-7616 IP Cam e Videosorveglianza 0
voldemort [c] Errore di segmentazione (core dump creato) C/C++ 1
T SSD - errore sistema Hardware 2
R Navigare sito con cURL, mi restituisce errore PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 2
A Errore visualizzazione selezione testo Photoshop 0
I Postman 400 Errore di richiesta non valida Programmazione 0
S Errore PHP - Notice: Undefined index ... PHP 14
U Campo vuoto data errore Fatal error: PHP 2
R Errore UPDATE tabella mysql PHP 1
R W10 Segnalazione di errore su terminale USB Windows e Software 0
G non riesco a capire quale sia l'errore [SQL] MySQL 2
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
E Errore di lettura php in html PHP 8
A php metodo post jquery non da mai errore jQuery 4
W Errore di run-time di Microsoft VBScript error '800a0035' Impossibile trovare il file Classic ASP 0
B Errore unexpected '$variabile' (T_VARIABLE) in your code on line PHP 2

Discussioni simili