Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di diablobox
    Registrato dal
    Feb 2001
    residenza
    Pisa
    Messaggi
    1,154

    SQL problema select WHERE IN

    Ciao

    ho un problema con una query create con DW CS3

    se provo la mia query in locale con dreamweaver mi estrapola correttamente i valori

    quando la metto ONLINE mi da questo errore:
    ADODB.Command error '800a0d5d'

    Application uses a value of the wrong type for the current operation.

    nomepagine.asp, line 170

    LA QUERY è questa

    SELECT ... FROM ... WHERE .... AND tabella.IDcom IN (?)

    RSImmFIND_cmd.Parameters.Append RSImmFIND_cmd.CreateParameter("param1", 5, 1, -1, RSImmFIND__PAGE_comune) '

    in pratica il problema sta nella selezione IN che mi da un errore

    ma non capisco come mai in locale funziona e ONLINE no..

  2. #2
    con tutti quei ... bla, ecc, omissis ??? non si capisce niente. posta la VERA query che tenti di eseguire

  3. #3
    Utente di HTML.it L'avatar di diablobox
    Registrato dal
    Feb 2001
    residenza
    Pisa
    Messaggi
    1,154

    SQL problema select WHERE IN

    Dim RSImmFIND
    Dim RSImmFIND_cmd
    Dim RSImmFIND_numRows

    Set RSImmFIND_cmd = Server.CreateObject ("ADODB.Command")
    RSImmFIND_cmd.ActiveConnection = MM_conn_imm_STRING
    RSImmFIND_cmd.CommandText = "SELECT * FROM immobili WHERE immobili.IDcom IN (?)"
    RSImmFIND_cmd.Prepared = true
    RSImmFIND_cmd.Parameters.Append RSImmFIND_cmd.CreateParameter("param1", 5, 1, -1, RSImmFIND__PAGE_comune) ' adDouble


    Questa è tutta la connessione (che CS3 fa in automatico).

    Riesci a capire il problema??
    Come ti dicevo sta nell' IN
    se inserisco un singolo valore ES: 1
    funge
    quando vado ad inserire valori multipli: 1,2,3,4
    non funge.
    Il database è ACCESS

    lo stesso problema l ho avuto anche con altri recorset ....
    che ho ovviato costruendo il recorset manualmente... vorrei capire però che cosa c'è che non funziona...
    Grazie
    Ciao

  4. #4
    http://www.w3schools.com/ado/met_com...eparameter.asp

    quindi dovrebbe venire:

    codice:
    RSImmFIND_cmd.CreateParameter("param1", 200 , 1, 0, RSImmFIND__PAGE_comune)
    oppure:

    codice:
    RSImmFIND_cmd.CreateParameter("param1", 200 , 1, -1, RSImmFIND__PAGE_comune)
    
    oppure
    
    RSImmFIND_cmd.CreateParameter("param1", 201 , 1, 0, RSImmFIND__PAGE_comune)
    
    oppure
    
    RSImmFIND_cmd.CreateParameter("param1", 201 , 1, -1, RSImmFIND__PAGE_comune)
    che non ho capito se ADO vuole type 200 o 201 per le stringhe


    EDIT:

    dico stringhe perchè mentre "1" è un numero, passare come parametro 1,2,3,4 dovrebbe essere una stringa.. ma se è bravo, dovrebbe cmq darti errore perchè probabilmente renderizza il parametro come '1,2,3,4' invece di 1,2,3,4

    quindi penso che o tu gli debba passare un array impostando come type integer, oppure te la scrivi a mano senza usare il parameter. Facci (ghghgh) un pò di prove
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it L'avatar di diablobox
    Registrato dal
    Feb 2001
    residenza
    Pisa
    Messaggi
    1,154

    SQL problema select WHERE IN

    .. ti ringrazio per la risposta...
    ora vedo come risolvere

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.