Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    87

    [vb.net e datagrid]update riga per riga

    ciao a tutti!!
    ho creato un datagrid che si riempie da una tabella di un database, il mio problema è che quando faccio le modifiche alle righe vorrei che l'update nel db venga fatto riga per riga dalla prima all'ultima!!
    ho questa esigenza in quanto modifico dei campi data e se per caso modificando le prime 2 righe nella seconda vado in conflitto con la prima mi da errore..
    non so se sono stato chiaro comunque quello che vorrei fare è modificare piu righe e fare l'update riga per riga dalla prima.
    come posso fare? grazie

  2. #2
    No scusa vorrei aiutarti ma non sei molto chiaro. Spiega con calma!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    87
    ho un datagrid con una serie di dati su piu righe es:
    nome cognome numero
    pippo pippo 56
    pluto pluto 67



    vorrei modificare i valori della colonna numero ma fare l'update riga per riga non in modo generale.
    es se metto 30 al posto di 56 e 56 al posto di 67 vorrei che l'update sia fatto sulla prima riga e poi sulla seconda,
    quando faccio l'update controllo dei valori prima di registrare
    es fai conto che numero sia una stanza
    quindi all'avvio le stanze 56 e 67 sono occupate, quando modifico i dati e salvo faccio fare prima un controllo riga per riga se la stanza è libera, se la stanza è vuota passa alla riga successiva, fatto il controllo su tutte le righe faccio la registrazione.
    se modifico la stanza 56 con 55 è tutto ok, faccio una selct per vedere se esiste qualcuno nella 55 e poi faccio fare l'update;
    se modifico SOLO il valore 67 con 56 e salvo, faccio la stessa select,trovo che la stanza 56 è occupata e quindi non efettua la registrazione ma mi avverte che la stanza è piena.
    quello che vorrei fare è questo:
    modifico il valore 56 con 30(es. una stanza a caso non occupata)
    e il valore 67 con 56.
    al salvataggio, controllo se la stanza 30 è libera, se è così passo alla seconda riga, controllo se la stanza 56 è libera------NON AVENDO FATTO ANCORA L'UPDATE DELLA PRIMA RIGA LA STANZA 56 RISULTA ANCORA OCCUPATA----ECCO IL MIO PROBLEMA. dovrei far salvare prima i dati della prima riga e quindi mettere pippo nella stanza 30 liberando la 56, fatto questo pluto trova la stanza 56 libera e quindi la registrazione viene effettuata con successo.
    come faccio a salvare riga per riga?
    spero di essere stato chiaro........
    grazie

  4. #4
    secondo me ti complichi troppo la vita...chissà quante righe di codice avrai scritto...

    una soluzione alternativa ...più rapida consiste nel impostare il campo STANZA all'interno del db...come non duplicabile.

    poi basta fare l'update del datagrid. se l'update di da errore...controlli e vedi le righe con la stanza duplicata.

    se invece non ti piace come soluzione fammi sapere...
    by giuSp [.NetDeveloper]

    ___________
    un po' di VB non fa male!....?
    C# more power to you!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    281
    Ti dico io non ho mai usato le griglie incluse nel vb.net ma sempre sviluppate da terzi
    Cmq se in quella griglia esiste l'evento UpdatingRecord (che viene kiamato prima che viene aggiornata la riga nel dataset e non dopo) o l'evento UpdatingCell puoi controllare che quando viene modificato il campo (o la riga) che quella stanza non sia già occupata (o tramite query dal db o scorrendo il dataset facendo attenzione a escludere il record che stai modificando) e se è già occupata restituisci un messaggio e blocchi l'aggiornamento del dataset, altrimenti lasci che il dataset viene aggiornato e poi salvi le modifiche
    Io ho già fatto diverse volte delle cose simili ed è piuttosto semplice, xò considera che uso oggetti molto potenti e con molti eventi
    Ora ho provato ad aggiungere un datagrid ad un progetto e non vedo quegli eventi, non so se c'è un modo per sapere quando si sta modificando un campo/record prima che venga modificato il dataset con le datagrid microsoft

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    UpdatingRecord credo siano eventi del dataset.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    281
    Originariamente inviato da cassano
    UpdatingRecord credo siano eventi del dataset.
    No il dataset ha solo 2 eventi
    Io uso delle griglie che hanno moltissime possibilità di personalizzazione e sono facilmente gestibili grazie ai molti eventi e proprietà che hanno a disposizione, quando modifichi un campo ci per farti un esempio l'evento cellvaluechanged (quando proprio cambi il valore all interno della cella), updatingcell, cellupdated, cellediting, updatingrecord, recordupdated: solo queste per una modifica di un campo/record

  8. #8
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    bè questi li ha anche la griglia del .net io li ho usati.

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    281
    Originariamente inviato da cassano
    bè questi li ha anche la griglia del .net io li ho usati.
    Boh io ho provato ad aggiungere una griglia di vb.net al progetto ma non li ho visti quegli eventi, magari ho visto male

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    87
    scusa!!!
    dove hai trovato le griglie di cui parli? o come faccio a trovare quei comandi di cui parlate nella griglia del .net?
    grazie

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.