Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. ADODB.Recordset - Funzione AddNew
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • C
      ciodof User Attivo • ultima modifica di

      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?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • F
        fast.adv.it User Attivo • ultima modifica di

        Prova a postare il codice.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • C
          ciodof User Attivo • ultima modifica di

          Quale parte di codice?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • F
            fast.adv.it User Attivo • ultima modifica di

            Tutta quella inerente il topic.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • C
              ciodof User Attivo • ultima modifica di

              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)

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • F
                fast.adv.it User Attivo • ultima modifica di

                Posta la porzione di codice in cui estrai questi dati:

                
                fieldList(0)="Campo001"
                fieldValues(0)="Valore001"
                fieldList(1)="Campo002"
                fieldValues(1)="Valore002" 
                
                
                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • C
                  ciodof User Attivo • ultima modifica di

                  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).

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • F
                    fast.adv.it User Attivo • ultima modifica di

                    Hai gia' provato a fare cosi:

                    
                    <%
                    '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
                    %>
                    
                    
                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • C
                      ciodof User Attivo • ultima modifica di

                      Sono costretto ad utilizzare la funzione addNew.

                      Gli altri metodi li conosco già.

                      AddNew perchè sei tanto ostica ?????

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • giorgiotave
                        giorgiotave Community Manager • ultima modifica di

                        Questo cosa è? Può servire?

                        http://search.microsoft.com/search/results.aspx?view=it-it&st=b&na=82&qu=addnew&s=5

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • C
                          ciodof User Attivo • ultima modifica di

                          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.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • giorgiotave
                            giorgiotave Community Manager • ultima modifica di

                            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'è

                            :bho:

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • C
                              ciodof User Attivo • ultima modifica di

                              Grazie per la buona volontà.
                              🙂 :bho:

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • F
                                fast.adv.it User Attivo • ultima modifica di

                                AddNew non ha limiti.
                                Perche' sei costretto ad utilizzarla?

                                Domenico

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • C
                                  ciodof User Attivo • ultima modifica di

                                  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.

                                  😞

                                  :mmm:

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • F
                                    fast.adv.it User Attivo • ultima modifica di

                                    In effetti e' un bel macello.
                                    Hai gia' provato a verificare che i campi > al 110 siano pieni?

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • I
                                      ib User Newbie • ultima modifica di

                                      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.

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      Caricamento altri post
                                      Rispondi
                                      • Topic risposta
                                      Effettua l'accesso per rispondere
                                      • Da Vecchi a Nuovi
                                      • Da Nuovi a Vecchi
                                      • Più Voti