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

    Errore: tipi di dati non corrispondenti??

    Salve a tutti, avrei un problema con una pagina che continua a darmi il seguente errore:

    tipi di dati non corrispondenti nell'espressione criterio

    Praticamente il mio problema è questo.

    Ho una tabella con degli articoli ed una foto ( nel caso dovessi associare una sola foto a quell'articolo ) e una, correleta, per le foto aggiuntive.

    TABELLA ARTICOLI

    IDarticoli
    articolo
    ecc
    foto
    rndField ( numerico )


    TABELLA FOTOARTICOLI

    IDfoto
    articoloID
    foto

    Devo memorizzare, assieme agli altri dati inseriti dall'utente, un dato da noi impostato: dopo l'inserimento basterà interrogare la tabella alla ricerca di questo valore per ottenere l'ID del record. Inoltre, il codice che recupera l'ID mediante questa interrogazione, dovrà essere insensibile agli eventuali ritardi nella creazione del record sul database.

    Nel form da compilare aggiungo un campo nascosto a cui assegno, come valore l'ID di sessione ossia, il codice HTML del campo è:


    codice:
    <input type="hidden" name="rndField" value="<%= Session.SessionID%>">
    Non posso usare il metodo Request dal momento che faccio l'upload delle foto.

    Dopo invio i dati ad una pagina che mi calcolerà lID:

    codice:
    MM_editConnection = MM_piscinola_STRING
      MM_editTable = "articoli"
      MM_editRedirectUrl = "trova.asp?rndField=" & Session.SessionID
    ora il problema sorge nella pagina successiva quando poi vado a svuotare il campo rndField della tabella, altrimenti, in un successivo inserimento da parte dello stesso utente, essendo la SessionID la stessa, succede un casino. La pagina è la seguente:

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <%
    
    
    Dim objRs__MMColParam, intID
    objRs__MMColParam = "1"
    If (Request.QueryString("rndField") <> "") Then 
      objRs__MMColParam = Request.QueryString("rndField")
    End If
    %>
    <%
    Dim objRs
    Dim objRs_numRows
    Dim MM_editRedirectUrl
    
    MM_editRedirectUrl = "insert_altre_foto_prima.asp"
    
    Set objRs = Server.CreateObject("ADODB.Recordset")
    objRs.ActiveConnection = MM_piscinola_STRING
    objRs.Source = "SELECT IDarticoli FROM articoli WHERE rndField = " + Replace(objRs__MMColParam, "'", "''") + ""
    objRs.CursorType = 0
    objRs.CursorLocation = 2
    objRs.LockType = 1
    //objRs.Open()
    
    objRs_numRows = 0
    
    // Inizializza il ciclo semi-infinito 
    Do 
        // Apre il recordset 
        objRs.Open() 
        // Verifica se esiste il record 
        If Not objRs.EOF Or Not objRs.BOF Then 
            // Recupera l'ID 
            intID = objRs.Fields("IDarticoli") 
        End If 
        // Chiudo il recordset 
       objRs.Close()
    // Chiude il ciclo 
    Loop Until intID > 0 
    %>
    
    <%
    Set Conn=server.createobject("adodb.connection")
    	Conn.Open MM_piscinola_STRING
    	'Set RS = Server.CreateObject("ADODB.Recordset")
    
    // svuota il campo rndField ( numerico )
    	
    StrSQL = "UPDATE articoli set rndField = NULL Where IDarticoli = '" & IDarticoli & "'"
    	Conn.execute StrSQL
    	Conn.close
    	
    	  
    	Set objRs = Nothing
    	set Conn = nothing
    
    Session("AltreFoto") = intID
    
    // Richiama la pagina per l'inserimento altri dati trasmettendo anche l'ID 
    Response.Redirect(MM_editRedirectUrl)
    //Response.Write(Session("AltreFoto"))
    Response.End 
    %>
    Funziona tutto, ma quando ho aggiunto l'istruzione UPDATE, mi da l'errore citato prima.

    Sbaglio da qualche parte ma non riesco a capire dove.

    Chi mi da una mano???? Sono bloccato da mezza giornata

    Grazie e Bye
    daniele
    -------------------
    ti piace il basket ?

  2. #2
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    o da problemi il null o gli apicetti singoli nella condizione se IDarticoli è numerico
    ehm non avevo letto la parte in bold...tipi di dati non corrispondenti nell'espressione criterio...allora dovrebbe essere IDarticoli il problema
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  3. #3
    ossia ??
    daniele
    -------------------
    ti piace il basket ?

  4. #4
    già, è vero.............risolto

    codice:
    StrSQL = "UPDATE articoli set rndField = NULL Where IDarticoli = " & ("IDarticoli") & ""
    grazie e Bye
    daniele
    -------------------
    ti piace il basket ?

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.