33 messaggi dal 06 giugno 2005
Ciao a tutti,
sto cercando di scrivere in un database SQL, ma mi da sempre una segnalazione di errore:

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

La linea a cui si ferma è rp.addnew. Il database è attualmente vuoto.

Vi riporto il codice:

Session("StrConnDB") = ...
set objConnDB = Server.CreateObject("ADODB.Connection")
set rp = Server.CreateObject("ADODB.Recordset")
objConnDB.Open Session("StrConnDB")
queryp = "SELECT * FROM PB_PROBLEM2"
rp.Open queryp, objConnDB, 3,3

dim strNome
dim strCognome
dim strTelefono
dim strUfficio
dim strCat
dim strComp
dim strMod
dim strGruppo
dim strDescrizione
dim strStato
dim strPriorita

strNome = Request.Form("nome")
strCognome = Request.Form("cognome")
strTelefono = Request.Form("telefono")
strUfficio = Request.form("ufficio")
strCat = Request.Form("categoria")
strComp = Request.Form("componente")
strMod = Request.Form("modulo")
strDescrizione = Request.Form("descrizione")
strStato = "01"
strPriorita = "01"

rp.addnew

rp("NOME") = strNome
rp("COGNOME") = strCognome
rp("NUM_TELEFONO") = strTelefono
rp("ID_CATEGORIA") = strCat
rp("ID_COMPONENTE") = strComp
rp("ID_MODULO") = strMod
rp("ID_GRUPPO") = strGruppo
rp("DESCRIZIONE") = strDescrizione
rp("ID_STATO") = strStato
rp("ID_PRIORITA") = strPriorita

rp.update
rp.close
set rp = Nothing

objConnDB.close
set objConnDB = Nothing
%>
Modificato da Teo80 il 15 giugno 2005 15.32 -
Al posto di 3,3 nella open usa adOpenDynamic,adLockOptimistic...
33 messaggi dal 06 giugno 2005
Mi da questo errore proprio a quella linea:

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Al posto di adOpenDynamic scrivi 2 e al posto di adLockOptimistic 3 quindi 2,3
33 messaggi dal 06 giugno 2005
Mi da sempre

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype

in corrispondenza di rp.addnew
Domande non poste in precedenza:
- di che DB si tratta (Access, SQLServer, MySQL,...)??
- hai verificato (in caso di Access) i permessi di accesso al file, o (se SQLServer o similari) i permessi di accessi alla tabella?
33 messaggi dal 06 giugno 2005
Mi viene il dubbio che non sia stata fatta correttamente la tabella in SQL poiché non l'ho fatta io, ma un'altra persona.
Quando viene definita una tabella bisogna definire anche il contatore che aumenta di 1 ogni volta che si aggiunge un record? Questo contatore è automaticamente il campo (0)? Bisogna fare qualcosa in fase di definizione della tabella? Io non conosco molto l'SQL, se potete dirmi cosa chiedere o dire a chi ha definito questa tabella in SQL mi fareste un piacere.
33 messaggi dal 06 giugno 2005
Ho visto per esempio che scrivendo sul database usando

SQL = "INSERT INTO nometabella(nomecampi) VALUES variabili

si riesce ad inserire un record.

Non riesco però tramite rp.addnew.

Questo è un esempio della tabella che mi hanno passato:

CREATE TABLE PB_PROBLEM2 (
NUM_PROBLEM NUMBER (8),
NOME VARCHAR2 (30),
COGNOME VARCHAR2 (30),
UFFICIO CHAR (3),
NUM_TELEFONO CHAR (15),
ecc...)

dove ecc indica ovviamente gli altri campi.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.