+ Rispondi alla Discussione
Risultati da 1 a 17 di 17

ADODB.Recordset - Funzione AddNew

Ultimo Messaggio di IB il:
  1. #1
    User
    Data Registrazione
    Mar 2005
    Località
    Cesena
    Messaggi
    125

    ADODB.Recordset - Funzione AddNew

    Salve, ho notato che quando eseguo un'azione di AddNew su un recordset con più di 110 colonne genera un errore.

    rsADO.AddNew(fieldList, fieldValues)

    Errore :
    Microsoft Cursor Engine (0x80040E21)
    Si sono verificati errori in un'operazione composta da più passaggi. Controllare i singoli valori di stato.



    Essiet un modo per poter effettuare inserimenti con la funzione AddNew su tabelle così o maggiormente ampie?

  2. #2
    User
    Data Registrazione
    Apr 2005
    Località
    Sperlonga (LT)
    Messaggi
    282
    Prova a postare il codice.

  3. #3
    User
    Data Registrazione
    Mar 2005
    Località
    Cesena
    Messaggi
    125
    Quale parte di codice?

  4. #4
    User
    Data Registrazione
    Apr 2005
    Località
    Sperlonga (LT)
    Messaggi
    282
    Tutta quella inerente il topic.

  5. #5
    User
    Data Registrazione
    Mar 2005
    Località
    Cesena
    Messaggi
    125
    Dim fieldList(112)
    Dim fieldValues(112)

    fieldList(0)="Campo001"
    fieldValues(0)="Valore001"
    fieldList(1)="Campo002"
    fieldValues(1)="Valore002"
    ...
    ...
    fieldList(112)="Campo112"
    fieldValues(112)="Valore112"

    SQL_Testo="SELECT TOP 1 * FROM Tabella ;"
    set rsADO = Server.CreateObject("ADODB.Recordset")
    rsADO.ActiveConnection = Connessione
    rsADO.Source = SQL_Testo
    rsADO.CursorType = 0
    rsADO.CursorLocation = 2
    rsADO.LockType = 3
    rsADO.Open
    rsADO.AddNew(fieldList, fieldValues)

  6. #6
    User
    Data Registrazione
    Apr 2005
    Località
    Sperlonga (LT)
    Messaggi
    282
    Posta la porzione di codice in cui estrai questi dati:

    Codice:
    fieldList(0)="Campo001"
    fieldValues(0)="Valore001"
    fieldList(1)="Campo002"
    fieldValues(1)="Valore002"

  7. #7
    User
    Data Registrazione
    Mar 2005
    Località
    Cesena
    Messaggi
    125
    Il problema non è dato da cosa inserisco, ma il limite fisico che ho notato dal numero di colonne che vado ad inserire.

    La funzione addNew su una tabella con più di 110 colonne si pianta durante l'inserimento, anche se tu gli passi i due vettori composti da soli 5 elementi.

    Cerco di capire e sapere se esiste un metodo per aggirare l'errore o eventuali impostazioni da settare (cursori, ecc).

  8. #8
    User
    Data Registrazione
    Apr 2005
    Località
    Sperlonga (LT)
    Messaggi
    282
    Hai gia' provato a fare cosi:

    Codice:
    <%
    'apri la conn
    'selezioni i record da estrarre
    
    'Inserisci i dati
    sql = "INSERT INTO tbl &#40;campo1, campo2&#41; VALUES &#40;'"&valore1&"', '"&valore2&"'&#41;"
    connessione.execute&#40;sql&#41;
    
    'chiudi risorse
    %>

  9. #9
    User
    Data Registrazione
    Mar 2005
    Località
    Cesena
    Messaggi
    125
    Sono costretto ad utilizzare la funzione addNew.

    Gli altri metodi li conosco già.

    AddNew perchè sei tanto ostica ?????

  10. #10
    L'avatar di Giorgiotave
    Data Registrazione
    Oct 2004
    Località
    Monasterace
    Messaggi
    42,949
    Visita il canale Youtube di Giorgiotave
    Cosa bisognerà fare nel 2020? Stiamo affrontanto i vari temi
    Google 2020 | SEO 2020 | E-commerce 2020 | Social 2020 | YouTube 2020

  11. #11
    User
    Data Registrazione
    Mar 2005
    Località
    Cesena
    Messaggi
    125
    Grazie.

    Nelle MSDN non accennano nulla sul limite massimo di colonne della tabella su cui si esegue un addNew tramite il recordset.

    Sono ancora al punto di partenza.

  12. #12
    L'avatar di Giorgiotave
    Data Registrazione
    Oct 2004
    Località
    Monasterace
    Messaggi
    42,949
    Visita il canale Youtube di Giorgiotave
    Ho cercato in lungo e in largo ma in italiano google non lo sa
    In inglese c'è molto, ma non ho abbastanza conoscenze tecniche.

    Traducendo con il translate di google qualcosa c'è

    Cosa bisognerà fare nel 2020? Stiamo affrontanto i vari temi
    Google 2020 | SEO 2020 | E-commerce 2020 | Social 2020 | YouTube 2020

  13. #13
    User
    Data Registrazione
    Mar 2005
    Località
    Cesena
    Messaggi
    125
    Grazie per la buona volontà.

  14. #14
    User
    Data Registrazione
    Apr 2005
    Località
    Sperlonga (LT)
    Messaggi
    282
    AddNew non ha limiti.
    Perche' sei costretto ad utilizzarla?


    Domenico

  15. #15
    User
    Data Registrazione
    Mar 2005
    Località
    Cesena
    Messaggi
    125
    Mi trovo per le mani un progetto sviluppato con VisualInterdev 6.0, dove li si usano per la programmazione in ASP, i ControlDesignTime (oggetti appositi offerti come strumenti per l'integrazione e lo sviluppo di db ...).

    Allora fino adesso bene, ma se nella mia tabella ho più di 110 colonne si pianta fa funzione addNew incapsulata dentro il codice dei RECORDSET.ASP (modulo ControlDesignTime che gestisce gli oggetti recordset).

    La programamzione dei ControlDesignTime la conosco bene e l'ho modificata più volte a mio piacimento (è del js e c++ lato server) però non riesco a capire come suprerare questo limite delle colonne massime.

    dato che il progetto è e deve rimanere con quella impronata, non volevo rifare quella parte per la gestione di questa tabella, ma capire se c'è un metodo per ovviare o gestire in modo "limpido" il problema.

    Lo so anch'io che con una insert diretta risolvo il problema, ma i ControlDesignTime oggrono una serie di integrazioni fra loro (griglie, conessione, recordset, textbox, ecc.) che al momento non posso smantellare di brutto.

    Perchè se smantello questa parte devo smantellare più di 100'000 riche di codice (il probelam delle 110 colonne a breve mi si presenteà anche su altre tabelle).

    Esiste anche l'opzione di spezzare la tabella, ma andrei incontro a casini ancor più gravi.




  16. #16
    User
    Data Registrazione
    Apr 2005
    Località
    Sperlonga (LT)
    Messaggi
    282
    In effetti e' un bel macello.
    Hai gia' provato a verificare che i campi > al 110 siano pieni?

  17. #17
    IB
    IB è offline
    User Newbie
    Data Registrazione
    Sep 2005
    Località
    Arezzo
    Messaggi
    5

    DTC e Interdev 6

    In effetti i DTC sono roba da preistoria. Io non penso che il problema sia il numero di colonne. In genere l'errore che dici tu è determinato dal tentativo di inserire una stringa vuota in un campo che non lo consente, oppure di inserire caratteri in un campo numerico.

    L'unico modo per saperlo, è provare ad utilizzare la funzione addnew SENZA il DTC e vedere cosa succede, ma prima di tutto contolla che i campi consentano lunghezza zero.

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.