Newsgroup: it.comp.www.asp
Titolo: objRS.update

Salve,
non riesco ad aggiornare un database. Non riesco a farlo ne' sul
server di casa, ne' su quello on line (che ho su Aruba).
Penso sia un problema di diritti. Per quel che riguarda Aruba, attendo
risposte sul forum, per quel che riguarda quello di casa, spero in un
vostro aiuto.
Ho due pc, uno con win2000pro e IIS, l'altro con XP. Non ho un
dominio, in casa, ma nomi utente e password dell'uno, sono identici
nell'altro.
Ad ogni modo quando mi collego al server web consulto normalmente il
database (estraggo i dati), in maniera perfettamente corretta aggiorno
i campi del record che sto elaborando (ho verificato con un
response.write seguito da un objRS.cancelupdate), ma quando arrivo al
comando objRS.update ottengo questa segnalazione di errore:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC Microsoft Access] Errore di sintassi
(operatore mancante) nell'espressione della query
'(IDpartita=Pa_RaM001 AND dataPartita=Pa_RaM002 AND
sedePartita=Pa_RaM003 AND tipoEvento=Pa_RaM004 AND
gironeOFase=Pa_RaM005 AND nomesquadradicasa=Pa_RaM006 AND
nomesquadraospite=Pa_RaM007 AND set-sdc=Pa_RaM008 AND set-so=Pa_RaM009
AND punti-1set-sdc=Pa_RaM01'.
/
www.csigenova.it/20032004/torneosuperba/DBscriviCommento.asp
, line 58
IDpartita, dataPartita, sedePartita e via discorrendo, sono i nomi dei
campi. alla riga 58 c'e' "objRS.update".
Cercando qualche soluzione su Google, mi pare di avere capito che si
tratta di permessi e diritti... Ho provato a selezionare la cartella
dove c'e' il database e concedere "tutti i diritti a tutti" (ma non
vorrei che fosse proprio cosi'...), ma l'update non funge lo stesso...
Qualche suggerimento?
Mille grazie.
PS
Su aruba il problema si rileva similare. Per provare:
www.csigenova.it/20032004/torneosuperba/calendarioerisultati.htm
quindi pigiare "invio"
Andare in fondo alla pagina, inserire un numero (ad esempio 1) e come
password la parola "password" senza virgolette. Quindi pigiare Invio.
Quelle pagine sono scollegate dal sito 
www.csigenova.it
, quindi si
possono fare delle prove.
-- 
Paolo Fasce
fa...@despammed.com
www.fasce.it/paolo/
"Ahi Genovesi, uomini diversi
d'ogne costume e pien d'ogne magagna,
perché non siete voi del mondo spersi?"
(Dante Alighieri)
"Il più certo modo di celare agli altri
i confini del proprio sapere è di non trapassarli".
(Giacomo Leopardi)

 (operatore mancante) nell'espressione della query
[CUT]
Non è un problema di permessi.. ti restituirebbe al massimo (non ricordo
bene) query aggiornabile....
é proprio un problema di sintassi della stringa sql...
fattela stampare con il response.write prima di inviarla all'update... c'è
sbagliato qualcosa di sicuro

all'update... c'è sbagliato qualcosa di sicuro
L'ho fatto. Ma non mi ha dato nulla di strano. Ad ogni modo
ricontrollo.
Grazie.


all'update... c'è sbagliato qualcosa di sicuro
L'ho stampata e quello che vedo e' corretto. Vorrei proprio caricare
quei campi nella base dati.


 testo, data e ora, numerici, e memo.
può essere, prova a postare la stringa sql ed il tipo dei campi
ciao
Matteo

caricare quei campi nella base dati.
Voglio dire: non e' che quel che vedo e' corretto, ma e' di un tipo
sbagliato? Puo' essere? Si possono aggiornare dei campi memo?
Ciao ciao.


 sbagliato? Puo' essere? Si possono aggiornare dei campi memo?
Sěsě, con del testo, esattamente come i normali campi testo.
Ora, di solito errori di sintassi, se non hai sbagliato qualcosa (tipo 
dichiari un campo poi nei VALUEs non lo metti, etc etc), capita per:
A) un campo numerico, senza valore.
Per esempio: 
INSERT INTO tabella(campotesto, camponum)
VALUES('blabla', )
come vedi, nel secondo campo, manca proprio il valore, e viene 
giustamente considerato un errore di sintassi. Per metterlo NULL, 
bisogna proprio scriverci NULL 
VALUES('blablabla', NULL)
B) un campo testo, il cui contenuto contiene un apice.
INSERT INTO tabella(campotesto)
VALUES('blabla b'la')
Ovviamente, viene ritornato errore di sintassi.
Per ovviare a problemi simili, che chiaramente posso capitare spesso, 
basta raddoppiare gli apici, se vi sono. Lo puoi fare da ASP con 
Replace

(Giacomo Leopardi)
--
Enjoy the .NET community! ASPItalia.com
 
http://forum.aspitalia.com/
 
http://www.aspitalia.com/

mandaci la stringa e i tipi dei campi, altrimenti nn possiam aiutarti, ciao.



puň essere, prova a postare la stringa sql ed il tipo dei campi
Eccomi. Grazie per la disponibilita'.
I campi di Access:
           ("IDpartita") Contatore
         ("datapartita") Data e ora (GG/MM/AAAA)
          ("orapartita") data e ora (
HH.MM
)
         ("sedepartita") testo, 40 caratteri
          ("tipoEvento") testo, 40 caratteri
         ("gironeOFase") testo, 40 caratteri
   ("nomesquadradicasa") testo, 40 caratteri
   ("nomesquadraospite") testo, 40 caratteri
             ("set-sdc") intero (non intero lungo)
              ("set-so") intero 
      ("punti-1set-sdc") intero 
       ("punti-1set-so") intero 
      ("punti-2set-sdc") intero 
       ("punti-2set-so") intero 
      ("punti-3set-sdc") intero 
       ("punti-3set-so") intero 
      ("punti-4set-sdc") intero 
       ("punti-4set-so") intero 
      ("punti-5set-sdc") intero 
       ("punti-5set-so") intero 
        ("primoArbitro") testo, 40 caratteri
      ("secondoArbitro") testo, 40 caratteri
("commentodellapartita") memo
         ("commentosdc") memo
          ("commentoso") memo
<%@ language=VBscript%>
<%Option explicit%>
<HTML>
<head>
<title>CSI Genova</title>
<meta name="MSSmartTagsPreventParsing" content="TRUE">
<link href="../../old/immagini/csi.css" rel="stylesheet"
type="text/css">
<!-- #include file = "../../admin/adovbs.inc" -->
<!-- #include file = "../../admin/dbConnect2sitocsimdb.asp" -->
<%
dim strID, iID, strSQL, strPassword, strCasaOOspite, strCommento,
bolOK
strID=trim(Request.form("idpartita"))
iID=Cint(strID)
strPassword="password" 'non e' ancora implementata
strCasaOOspite=trim(Request.form("casaoospite"))
strCommento=Request.form("commento")
strCommento=Replace(strCommento,"+"," ",1)
strSQL="SELECT IDpartita, commentodellapartita, commentosdc,
commentoso FROM partitepallavolo WHERE IDpartita = " & strID
dim objRS
set objRS = server.createobject ("ADODB.Recordset")
objRS.open "partitepallavolo", objConn2dbsitocsi, adOpenForwardOnly,
adLockOptimistic, adCmdTable
'objRS.open strSQL, objConn2dbsitocsi, adOpenForwardOnly,
adLockOptimistic, adCmdTable
'objRS.open strSQL, objConn2dbsitocsi
'objRS.open strSQL, objConn2dbsitocsi, adOpenForwardOnly,
adLockOptimistic, adCmdTable
'objRS.open strSQL, objConn2dbsitocsi, , , adCmdTable
objRS.filter = "IDpartita = " & iID
if strPassword=trim(Request.form("password")) then
 objRS.movefirst
   select case strCasaOOspite
     case "sdc"
       objRS("commentosdc")= strCommento
     case "so"
       objRS("commentoso")= strCommento
     case "pf"
       objRS("commentodellapartita")= strCommento
   end select
response.write "<p>" & objRS("IDpartita") & "<br>"
response.write objRS("datapartita") & "<br>"
response.write objRS("orapartita") & "<br>"
response.write objRS("sedepartita") & "<br>"
response.write objRS("tipoEvento") & "<br>"
response.write objRS("gironeOFase") & "<br>"
response.write objRS("nomesquadradicasa") & "<br>"
response.write objRS("nomesquadraospite") & "<br>"
response.write objRS("set-sdc") & " - " & objRS("set-so") & "<br>"
response.write objRS("punti-1set-sdc") & " - " &
objRS("punti-1set-so") & "<br>"
response.write objRS("punti-2set-sdc") & " - " &
objRS("punti-2set-so") & "<br>"
response.write objRS("punti-3set-sdc") & " - " &
objRS("punti-3set-so") & "<br>"
response.write objRS("punti-4set-sdc") & " - " &
objRS("punti-4set-so") & "<br>"
response.write objRS("punti-5set-sdc") & " - " &
objRS("punti-5set-so") & "<br>"
response.write objRS("primoArbitro") & "<br>"
response.write objRS("secondoArbitro") & "</p>"
   response.write objRS("commentodellapartita") & "xxx<br>"
   response.write objRS("commentosdc") & "xxx<br>"
   response.write objRS("commentoso") & "xxx<br>"
 objRS.cancelupdate ' se metto update salta tutto.
 bolOK=TRUE
end if
%>
<!-- #include file = "../../admin/dbDEconnect2sitocsimdb.asp" -->
</HEAD>
<body>
<%
if bolOK=true then
   Response.write "Scritto!"
else
   Response.write "Problemi..."
end if
%>
</body>
</HTML>
Il file di connessione (locale, funziona: nell'estrazione tutto OK):
<%
dim objConn2dbsitocsi, strConn
set objConn2dbsitocsi = server.createobject ("ADODB.connection")
objConn2dbsitocsi.connectionstring = "driver={microsoft access driver
(*.mdb)};DBQ=" & _
"f:\html\
www.csigenova.it
\mdb-database\sitocsi.mdb"
objConn2dbsitocsi.open
%>
Ancora grazie.
-- 
Paolo Fasce
fa...@despammed.com
www.fasce.it/paolo/
"Ahi Genovesi, uomini diversi
d'ogne costume e pien d'ogne magagna,
perché non siete voi del mondo spersi?"
(Dante Alighieri)
"Il piů certo modo di celare agli altri
i confini del proprio sapere č di non trapassarli".
(Giacomo Leopardi)