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

    Problema date ed insert

    Salve a tutti, ho un form dove prelevo dei dati e quindi dovrei inserirli all'interno di un database.
    tra questi c'è un campo data.
    Però prima di inserire l'utente devo verificare che non sia gia presente nel db access.
    Questo lo faccio verificando nome cognome e data di nascita. (Ho il codice fiscale ma non di tutti quindi non posso usarlo come criterio di ricerca purtroppo).

    Quando prelavo la data dal db e la conronto però mi da questo errore.

    Tipo di errore:
    Microsoft JET Database Engine (0x80040E07)
    Tipi di dati non corrispondenti nell'espressione criterio.
    /inseriscidati.asp, line 38

    sono certa che sia la data perchè eliminando dal criterio di select la data e quindi il confronto tutto funziona bene.

    codice:
    Session.LCID= 1040
    Dim conn
    'creo l'oggetto Connection
    Set conn = Server.CreateObject("ADODB.Connection")
    'apro la connessione con la fonte di dati
    conn.Open = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/Inetpub/wwwroot/dati/persona.mdb;"
    
    dim rs
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    'Seleziono **************
    rs.Open "SELECT * FROM pazienti WHERE nome_utente='"&Nome&"' AND cognome_utente='"&cognome&"' AND nascita_utente='"&data&"'" , conn
    			
    		if not(rs.eof) then
    			response.Write("Il paziente : ")
    			%><h2><%Response.Write(cognome)%></h2><%
    			response.Write("è gia presente")
    		else
    sql= "Insert INTO pazienti (nome_utente,cognome_utente,codice_fiscale,nascita_utente,note_paziente) VALUES ('" & nome & "', '" & cognome & "', '"& cf &"', '"& data &"', '"&note&"');"
    	response.Write(sqll)
    	conn.Execute sql
    	
    	end if
    Nel database il campo è data/ora e come formato "data in cire"
    inoltre perchè la insert non mi funziona?

    Grazie per l'aiuto

    Francy

  2. #2
    codice:
    rs.Open "SELECT * FROM pazienti WHERE nome_utente='"&Nome&"' AND cognome_utente='"&cognome&"' AND nascita_utente=#"&data&"#" , conn

  3. #3
    Ok il primo passo è andato, adesso però mi da un altro errore nell'inserimento
    e mi dice:

    Tipo di errore:
    Microsoft JET Database Engine (0x80004005)
    Per l'operazione è necessaria una query aggiornabile.
    /inseriscidati.asp, line 47


    codice:
    sql= "Insert INTO pazienti (nome_paziente,cognome_paziente,codice_fiscale,nascita_paziente,note_paziente) VALUES ('" & nome & "', '" & cognome & "', '"& cf &"', '#"&data&"#', '"&note&"');"
    	response.Write(sqll)
    (Line 47) --> conn.Execute sql
    credo che debba modificare anche qui il campo data con il canelletto
    che significa query aggiornabile?
    Grazie

  4. #4
    Che l'utente Internet Guest Account non ha i permessi sul file system per scrivere nella cartella del database.
    Cerca nel forum la parola
    IUSR_NomeMacchina

  5. #5
    Grazie mille mems, dopo aver fatto una piccola ricerca su google ho trovato la soluzione.
    Era una questione di settare i diritti sulla cartella.

    Grazie a presto (Spero non prestissimo )

    :quote:

    Francy

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 © 2026 vBulletin Solutions, Inc. All rights reserved.