+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 9 su 9

la riga appartiene già a questa tabella

  1. #1
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    ciao a tutti,come da titolo ho un problema a registrare dei record.
    ho un datagridview di cui il primo campo è composto dal nome articolo
    ed dal 2° al 6° campo vengono inseriti dei numeri.
    il problema è che quando vado a registrare i record tramite dataset
    dà errore "la riga appartiene già a questa tabella"
    esempio di codice:
    dim dg as datarow=dataset1.magazzino.Newrow()
    for i=0 to datagridview.rowcount-2
    for r=1 to 6
    dg("articolo")=datagridview1.item(r,i).value
    dg("codice")=datagridview1.item(r,i).value
    dataset1.magazzino.rows.add(dg)
    next r
    next i
    e qui compare il messaggio "la riga appartiene già a questa tabella"
    ho cercato ma non trovo niente,ho provato anche con itemarray ma non funziona.
    Se qualcuno può aiutarmi,lo ringrazio in anticipo.

  2. #2
    Pirelli72 Guest
    Ma i record vanno poi su un database ??

  3. #3
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Quote Originariamente inviato da Pirelli72 Visualizza il messaggio
    Ma i record vanno poi su un database ??
    si,tramite il dataset aggiorna la tabella.

  4. #4
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Non ho capito bene il senso(motivo di esistenza) di codice, ma :
    o inserisci questa riga:
    dim dg as datarow=dataset1.magazzino.Newrow()
    
    dentro i cicli "For", oppure porti fuori dai cilcli questo:
    dataset1.magazzino.rows.add(dg)
    
    ℹ️ Leggi di più su bumm ...

  5. #5
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Quote Originariamente inviato da bumm Visualizza il messaggio
    Non ho capito bene il senso(motivo di esistenza) di codice, ma :
    o inserisci questa riga:
    dim dg as datarow=dataset1.magazzino.Newrow()
    
    dentro i cicli "For", oppure porti fuori dai cilcli questo:
    dataset1.magazzino.rows.add(dg)
    
    per la prima soluzione dà errore,per la seconda registra solo l'ultima
    riga del datagridview.

    cerco di essere il più chiaro possibile:
    la tabella in questione contiene alcuni campi di cui un campo
    ci deve essere registrato un numero,per comodità riempio il datagridview
    con la prima colonna con il nome dell'articolo(colonna Ø) dalla colonna
    1 fino alla colonna 6 ci inserisco numeri.
    ora,devo registrare i record prelevando i dati dal datagridview,quindi,
    dovrò per forza mettere i dati della datagridview in questo modo:
    al 1 ° campo della tabella magazzino chiamato "articoli" metterò i dati
    della datagridview con il ciclo for i=0 to datagridview.rowcount-2
    campo("articoli")=datagridview.item(0,i).value,ovv ero,metti nel campo
    "articoli" il valore della datagridview.item(0,i), -colonna 0,riga i-
    siccome le colonne per i numeri sono 6 eseguo un altro ciclo nidificato
    for r=1 to 6,quindi nel campo "codice" della tabella magazzino metterò
    i dati della datagridview partendo dalla colonna 1 fino alla 6,pertanto
    avrò il seguente ciclo:
    for r=1 to 6
    campo"codice"=datagridview.item(r,i).value,tradott o,metti nel campo "codice" il valore della datagridview.item(r,i) - colonna r e riga i -
    a questo punto devo salvare ad ogni ciclo r il record e quì casca
    l'asino,naturalmente i cicli sono chiusi con il next.
    questo sotto è esempio datagridview:
    (col Ø) (col1) (col2) (col3) (col4) (col5) (col6)
    articolo num num num num num num
    -----------------------------------------------------------
    Parma 5834 7845 1245 3246 5125 8897

    il tracciato record della tabella magazzino contiene 1 solo campo
    codice,quindi ecco perchè ho il ciclo for r=1 to 6
    ogni volta che viene eseguito il ciclo for r dovrò
    registrare il record:articolo parma numero 5834,record successivo
    articolo parma numero 7845 e così via fino ad arrivare all'ultimo
    numero 8897 e dopo esegue il ciclo esterno per tante volte quante sono
    le righe del datagridview,ma purtroppo dà errore al primo ciclo interno.
    non riesco a venirne a capo.
    questo mio problema potrebbe essere un'ottimo spunto per capire la
    funzionalità di registrazione dei record in un ciclo for nidificato.
    Spero di essermi spiegato al meglio.

  6. #6
    Pirelli72 Guest
    Purtroppo non ho avuto modo di lavorare tanto con i Database ma quelle poche applicazioni che ho fatto con Database su Server SQL non ho mai riscontrato particolari problemi. I Datatable e DataSet gli uso solo per polpolare la DataGrid, poi tutto il lavoro di aggiunta, cancellazione o aggiornamento dei Record lo faccio tramite i comandi SQL al Server. Mai avuto problemi, l'unica cosa è che bisogna studiarsi tutti i comandi SQL!

  7. #7
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Quote Originariamente inviato da Pirelli72 Visualizza il messaggio
    Purtroppo non ho avuto modo di lavorare tanto con i Database ma quelle poche applicazioni che ho fatto con Database su Server SQL non ho mai riscontrato particolari problemi. I Datatable e DataSet gli uso solo per polpolare la DataGrid, poi tutto il lavoro di aggiunta, cancellazione o aggiornamento dei Record lo faccio tramite i comandi SQL al Server. Mai avuto problemi, l'unica cosa è che bisogna studiarsi tutti i comandi SQL!
    che dirti,ti ringrazio lo stesso e comunque credo di aver capito dov'è l'errore.
    ora provo e se riesco faccio sapere.

  8. #8
    L'avatar di elisab
    elisab non è in linea Topo di biblioteca
    Ciao
    te lo ha già consigliato bumm sposta la dichiarazione dentro i cicli For.
    per la prima soluzione dà errore
    Dire che dà errore è troppo generico, riposta il codice e indica su che riga ricevi l'errore e quale errore.

    Un consiglio: fai un copia e incolla del codice dal tuo progetto in modo da farci vedere il codice che effettivamente usi; ad esempio, questa riga del primo post contiene un errore (dalla descrizione successiva la colonna articolo è fissa e ha indice 0)
    dg("articolo")=datagridview1.item(r,i).value
    
    Per postare il codice premi il pulsante # presente nell'editor verranno inseriti i tag [CODE][/CODE] all'interno dei quali potrai incollare il codice.

    Ciao
    ℹ️ Leggi di più su elisab ...

  9. #9
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Quote Originariamente inviato da elisab Visualizza il messaggio
    Ciao
    te lo ha già consigliato bumm sposta la dichiarazione dentro i cicli For.

    Dire che dà errore è troppo generico, riposta il codice e indica su che riga ricevi l'errore e quale errore.

    Un consiglio: fai un copia e incolla del codice dal tuo progetto in modo da farci vedere il codice che effettivamente usi; ad esempio, questa riga del primo post contiene un errore (dalla descrizione successiva la colonna articolo è fissa e ha indice 0)
    dg("articolo")=datagridview1.item(r,i).value
    
    Per postare il codice premi il pulsante # presente nell'editor verranno inseriti i tag [code][/code] all'interno dei quali potrai incollare il codice.

    Ciao
    non c'è errore,la colonna ha indice Ø e va bene così,comunque ti ringrazio, ma ho risolto bene.
    registra tutto come volevo io...domani in giornata
    spiego come ho risolto.
    ora avrei un piccolo problema che non mi riesce ho provato e riprovato ma niente da fare.
    come faccio a sapere quanti record ci sono in un dataset e
    poi ho bisogno di prelevare un valore dall'ultimo record
    tanto per capirsi,devo prelevare il numero del campo contatore che è sempre l'ultimo record in quanto viene aggiunto dopo una stampa,se puoi aiutarmi ti ringrazio.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. [HTML] Rinominare un file che appartiene ad un sito
    Da UGoldrake nel forum HTML, CSS e JavaScript
    Risposte: 4
    Ultimo Post: 30-01-2016, 10:36
  2. VB-NET La colonna "x" non appartiene alla tabella "y"
    Da Jozzato nel forum Visual Basic .Net
    Risposte: 3
    Ultimo Post: 02-01-2015, 06:19
  3. Errore: la riga appartiene già a un'altra tabella
    Da virgola nel forum Visual Basic .Net
    Risposte: 0
    Ultimo Post: 16-11-2014, 10:05
  4. Risposte: 4
    Ultimo Post: 21-11-2012, 19:38
  5. Colorare riga tabella
    Da thefoxwhite nel forum HTML, CSS e JavaScript
    Risposte: 3
    Ultimo Post: 23-01-2006, 23:02