Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: rs.update

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    201

    rs.update

    Salve,
    ho questo codice...
    Il problema? Genera questo errore:
    "Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
    [Microsoft][Driver ODBC Microsoft Access] Impossibile aggiornare. Database o oggetto di sola lettura.
    /modifica_carico_giorno_p.asp, line 57"
    Ovviamente i permessi sono settati, ma non capisco il perchè...
    Qualcuno ha una dritta?

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>MODIFICA CARICO PROTOCOLLATO</title> <% Set Conn=Server.CreateObject("ADODB.Connection") strConn="driver={Microsoft Access Driver (*.mdb)}; " strConn=strConn & " DBQ=" & Server.MapPath("magazzino.mdb") strConn=strConn & ";pwd=" & strCode Conn.Open strConn dim sql_cerca, sql_carca_magazzino sql_cerca = Session("sql_cerca") sql_cerca_magazzino = Session("sql_cerca_magazzino") Set rs = Server.CreateObject("ADODB.Recordset") rs.open sql_cerca, conn, 3, 3 Set rs_magazzino = Server.CreateObject("ADODB.Recordset") rs_magazzino.open sql_cerca_magazzino, conn, 3, 3 dim iterazioni, contatore, qta, bolla, lotto, scadenza, protocollo iterazioni = request.Form("iterazioni") %> </head> <body> <% FOR contatore = 0 TO iterazioni-1 qta = request.form("qta" & contatore) lotto = request.form("lotto" & contatore) bolla = request.form("bolla" & contatore) scadenza = request.form("scadenza" & contatore) protocollo = request.form("protocollo" & contatore) IF protocollo = "on" THEN protocollo = "TRUE" ELSE protocollo = "FALSE" END IF rs("quantita") = qta rs("lotto") = lotto rs("n_bolla") = bolla rs("scadenza") = scadenza rs("protocollato") = protocollo rs_magazzino("quantita") = qta rs_magazzino("lotto") = lotto rs_magazzino("n_bolla") = bolla rs_magazzino("scadenza") = scadenza rs_magazzino("protocollato") = protocollo rs_magazzino.update rs_magazzino.MoveNext rs.update rs.MoveNext NEXT %> </body> </html> <% rs_magazzino.close set rs_magazzino = nothing rs.close set rs= Nothing conn.close set conn= Nothing Session.Abandon() response.redirect("zone.html") %>

  2. #2
    lo vedi da te che il codice è tutto su un'unica riga, e quindi è illeggibile... sistema, please

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    201
    Chiedo scusa, non ho visualizzato l'anteprima...

    codice:
    <%
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("magazzino.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn
    dim sql_cerca, sql_carca_magazzino
    sql_cerca = Session("sql_cerca")
    sql_cerca_magazzino = Session("sql_cerca_magazzino")
    
    Set rs = Server.CreateObject("ADODB.Recordset")
        rs.open sql_cerca, conn, 3, 3
    
    Set rs_magazzino = Server.CreateObject("ADODB.Recordset")
        rs_magazzino.open sql_cerca_magazzino, conn, 3, 3
    
    
    dim iterazioni, contatore, qta, bolla, lotto, scadenza, protocollo
    iterazioni = request.Form("iterazioni")
    
    %>
    </head>
    <body>
    
    <%
    FOR contatore = 0 TO iterazioni-1
    
    qta = request.form("qta" & contatore)
    lotto = request.form("lotto" & contatore)
    bolla = request.form("bolla" & contatore)
    scadenza = request.form("scadenza" & contatore)
    protocollo = request.form("protocollo" & contatore)
    IF protocollo = "on" THEN
    protocollo = "TRUE"
    ELSE
    protocollo = "FALSE"
    END IF
    
    rs("quantita") = qta
    rs("lotto") = lotto
    rs("n_bolla") = bolla
    rs("scadenza") = scadenza
    rs("protocollato") = protocollo
    
    rs_magazzino("quantita") = qta
    rs_magazzino("lotto") = lotto
    rs_magazzino("n_bolla") = bolla
    rs_magazzino("scadenza") = scadenza
    rs_magazzino("protocollato") = protocollo
    
    rs_magazzino.update
    rs_magazzino.MoveNext
    
    rs.update
    rs.MoveNext
    NEXT
    %>
    
    </body>
    </html>
    <%
    rs_magazzino.close
    set rs_magazzino = nothing
    rs.close
    set rs= Nothing
    conn.close
    set conn= Nothing
    Session.Abandon()
    response.redirect("zone.html")
    %>

  4. #4
    sicuro che il db sia in una cartella a cui ha accesso anche l'utente che fa girare asp?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    201
    Sicurissimo,
    Con le altre pagine il db funziona bene.
    Solo questa crea errore.

  6. #6
    è tutto esattamente come nelle altre pagine? cartella, nome db, stringa di connessione, ecc? perché l'errore dice chiaramente "Database o oggetto di sola lettura"

    e quale sarebbe la riga 57?

    poi posta il valore delle variabili sql_cerca e sql_cerca_magazzino

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    201
    Si,
    tutto esattamente come nelle altre pagine, ho appena verificato.
    Infatti non capisco perchè dice: Oggetto in sola lettura!

    La riga è "rs_magazzino.update"

    Risultato di sql_cerca:

    maGGica SQL...: SELECT carico.scadenza, oggetto.descrizione, carico.data_carico, carico.lotto, carico.n_bolla, carico.protocollato, carico.quantita FROM (carico INNER JOIN oggetto ON carico.id_merce = oggetto.id_merce) INNER JOIN magazzino ON oggetto.id_merce = magazzino.id_merce WHERE carico.lotto=magazzino.lotto AND carico.n_bolla=magazzino.n_bolla AND magazzino.quantita = carico.quantita AND oggetto.descrizione+oggetto.fornitore Like '%burro%' AND magazzino.protocollato = TRUE;
    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][Driver ODBC Microsoft Access] Impossibile aggiornare. Database o oggetto di sola lettura.

    /modifica_carico_giorno_p.asp, line 62

    Risultato di sql_cerca_magazzino:

    maGGica SQL...: SELECT magazzino.scadenza, oggetto.descrizione, magazzino.data_carico, magazzino.lotto, magazzino.n_bolla, magazzino.protocollato, magazzino.quantita FROM (carico INNER JOIN oggetto ON carico.id_merce = oggetto.id_merce) INNER JOIN magazzino ON oggetto.id_merce = magazzino.id_merce WHERE carico.lotto=magazzino.lotto AND carico.n_bolla=magazzino.n_bolla AND magazzino.quantita = carico.quantita AND oggetto.descrizione+oggetto.fornitore Like '%burro%' AND magazzino.protocollato = TRUE;
    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][Driver ODBC Microsoft Access] Impossibile aggiornare. Database o oggetto di sola lettura.

    /modifica_carico_giorno_p.asp, line 62

  8. #8
    non sono sicuro che Access riesca ad aggiornare delle query in JOIN

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    201
    Allora, ho un'altra pagina uguale a questa, funziona alla perfezione!

  10. #10
    e aggiorni una query in JOIN?

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.