Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema addnew

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    32

    problema addnew

    Salve a tutti,
    ho un problema con l'inserimento al DB di un record usando come linguaggio Javascript con ASP, ecco il codice:

    var con;
    var conString;
    var sSQLString;
    var rst;

    con = Server.CreateObject("ADODB.Connection");
    conString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + Server.MapPath("./negozio.mdb");
    con.Open(conString);
    rst = Server.CreateObject("ADODB.Recordset");
    rst.Open("utenti", con, adOpenDynamic, adLockPessimistic);
    rst.AddNew();
    rst("nick") = nick;
    rst("pwd") = pwd;
    rst("val") = 0;
    rst.Update();
    rst.Close();
    con.Close();
    rst = null;
    con = null;

    Il problema è che si blocca sull'AddNew, dandomi questo errore:

    Error Type:
    ADODB.Recordset (0x800A0CB3)
    Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.
    /hw2/merce.asp, line 62

    qualcuno ha idea di come risolverlo? (utilizzo IIS)
    la cosa strana è che sul pc di un mio amico non dà problemi...
    ho trovato in giro, molte mezze soluzioni, riguardanti il CursorType, ma che non hanno risolto nulla. Comunque io utilizzo Windows professional, emulato tramite VMWare, non vorrei fosse quello ma non credo... (IIS l'ho installato tranquillamente..). Ho provato anche ad utilizzare una query SQL con la INSERT ma mi dava un problema analogo.
    Chiedo il vostro saggio aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    170
    Potrebbe essere il DB che non ha i permessi di scrittura.

    Prova a redenre la cartella condivisibile in scrittura dove si trova il DB e controlla se non ha il flag sola lettura.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    32
    allora effettivamente la sotto cartella in cui ho i files e il db ha il flag spuntato in sola lettura. non riesco pero' a disattivarlo, o meglio lo tolgo, ma poi se ricontrollo è di nuovo settato in sola lettura, ho provato anche a farlo direttamente da wwwroot, ma anche da li torna settato in read only... HELP

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    32
    nessuno ha idea di come risolvere?
    ho provato ad installare IIS anche su un altro pc, ma mi da lo stesso problema

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    32
    Grazie della risposta,

    ho provato a fare così:

    rst = Server.CreateObject("ADODB.Recordset");
    rst.CursorLocation=adUseClient
    rst.CursorType=adOpenDynamic
    rst.LockType=adLockBatchOptimistic
    rst.Open("utenti", con);
    rst.AddNew();
    rst("nick") = nick;
    rst.Update();

    Facendo in questo modo non mi dà errori, ma nemmeno mi aggiorna il DB, spulciando in giro ho notato che forse servirebbe la funzione rst.UpdateBatch() ... in questo caso, aggiungendo dopo rst.Update(); anche rst.UpdateBatch(); o sostittuendolo al suo posto mi dice questo errore:

    Error Type:
    Microsoft JET Database Engine (0x80004005)
    Operation must use an updateable query.

    comunque mi fa strano non funzionasse prima, come detto, il codice gira sul pc di un mio amico. dev'essere un problema di permessi di scrittura sulla cartella/DB, non riesco a togliere il flag di sola lettura alla cartella!

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    32
    UPDATE: dovrei aver risolto!

    ho attivato il tab "security" sulle proprietà delle cartelle, ed ho dato permessi a destra e a manca, ora funziona! grazie a tutti del supporto

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.