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

Discussione: Recordset disconnesso

  1. #1

    Recordset disconnesso

    Salve ragazzi, un paio di domande.
    Onde evitare di fare modifiche troppo pesanti ad alcune pagine web ASP, è stato deciso di sostituire l'attuale connessione al db con una semplice chiamata ad un web service che restituisce del codice XML. I risultati poi andranno messi nel mesedimo recordset che veniva usato prima.
    Fin qui tutto ok, il WS lo legge. Il problema è l'inserimento in un recordset disconnesso.
    E le mie domande sono le seguenti:

    1) definizione colonne : poniamo le voglia tutte string per iniziare (ma in futuro ci saranno anche numeri), come mai questo codice non mi funziona (mi dice parametri incorretti)

    set recNew = Server.CreateObject("ADODB.recordset")
    recNew.Fields.Append "PRD1_COD_ABI",adVarChar

    e questi si? Che differenza c'è?
    set recNew = Server.CreateObject("ADODB.recordset")
    recNew.Fields.Append "PRD1_COD_ABI",200,255


    2) Per inserire nel recordset uso il codice

    set recNew = Server.CreateObject("ADODB.recordset")
    recNew.Fields.Append "PRD1_COD_ABI", 200,255

    var1 = "pippo"
    recNew.Open
    recNew.AddNew
    recNew("PRD1_COD_ABI") = var1

    ma a questo punto c'è da fare qualcosa per considare l'iserimento? Perchè se chiamo il metodo recNew.getrows mi dà sempre 0.
    COme mai secondo voi?

    Grazie mille davvero,
    Alessio.

  2. #2
    1) non dici che errore ti dà;
    probablmente devi includere il file adovb.inc che
    contiene le definizioni delle costanti ed enumerazioni relative ad ado (adVarchar etc..)

    2) forse manca un rsNew.update

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Vado a memoria ma credo che devi chiudere con un update() recNew.update() poi distruzione del recordset
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    1. lo vedi da te che manca un parametro (la lunghezza)
    2. la .addnew va consolidata con una .update


  5. #5
    Pare che con il movelast ed il movefirst adesso lo inserisce.
    Mi dici qualcosa in più su quell'include invece che non ho capito molto?

    Grazie mille,
    Alessio.

  6. #6
    Originariamente inviato da cavicchiandrea
    Vado a memoria ma credo che devi chiudere con un update() recNew.update() poi distruzione del recordset
    Aspetta, se provo a mettere
    recNew.Fields.Append "NOME_COLONNA", adVarChar,adFldMayBeNull

    l'errore è il seguente:
    Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.


    A questo punto non vorrei davvero che non riesca a riconoscere le variabili

  7. #7
    manca la lunghezza del campo (e due...)

  8. #8
    Originariamente inviato da alessio_fi
    Aspetta, se provo a mettere
    recNew.Fields.Append "NOME_COLONNA", adVarChar,adFldMayBeNull

    l'errore è il seguente:
    Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.


    A questo punto non vorrei davvero che non riesca a riconoscere le variabili

    la firma del metodo per aggiungere un campo è :

    fields.Append Name, Type, DefinedSize, Attrib, FieldValue

    dove DefinedSize è la lunghezza del campo
    mentre per Type e Attrib puoi inserire o costanti numeriche
    oppure le relative costanti denominate ( per esempio adVarChar per il Type)
    che però devono essere definite da qualche parte ( ... e lo sono in adovb.inc)

    EDIT
    Ti consiglio di usare Option explicit nel codice in modo da essere obbligato
    a dichiarare le variabili che intendi usare

  9. #9
    Si, era l'adovb.inc.
    Grazie a tutti.

  10. #10
    Scusate se intervengo ancora ma non capisco un'altra cosa.
    Ho aggiunto, nel file adodb.inc, fra le altre cose, la variabile
    Const adVarChar = 200

    Ora, sempre nel caricamento del recordset ho dichiarato la colonna
    recNew.Fields.Append "COLONNA",3,adVarChar

    Bene. Ma se passo il valore "001" mi inserisce 1, come se fosse una colonna numerica.
    Non è che devo settare qualche altra impostazione?

    Grazie mille.

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.