115 messaggi dal 06 luglio 2006
Cradle ha scritto:
Ciao,

quel tipo di query generata da Visual Studio è uno dei tanti modi per implementare la optimistic concurrency: lo scopo di tutte quelle condizioni di where, infatti, è proprio quello di eliminare la riga se e solo se i valori presenti su DB sono esattamente i medesimi che hai fetchato in fase di SELECT, escludendo quindi che qualche altro utente abbia modificato qualcosa.

Il fatto che a te non elimini nulla è indice che probabilmente tra tutti quei valori original_nomecampo ce ne sia qualcuno (forse che non fetchi nella select??) che non corrisponde a quanto presente su DB.

Fossi in te proverei
1) a usareil profiler di SqlServer, come ti è stato consigliato, per fare una verifica puntuale su tali valori
2) controllare se effettivamente nella select recuperi tutti quei campi

Mi suona comunque strano il fatto che non si verifichi alcun errore, solitamente in casi come questi viene sollevata una DBConcurrencyException

Marco


ciao la questione è proprio questa. Ho pensato anch'io alla stessa cos e mi sono creato un'altra webform solo con la formView. Provo a cancellare e funziona tutto.
Ho preso il codice della delete con i relativi parametri e portata sulla precedente webform non mi funziona.
La cosa strana è che non mi da alcun tipo di errore.

Ho provato a farlo ritornare sulla grid dopo la cancellazione, sia dopoi il delete della query che della form e mi ritorna senza darmi alcun tipo di problema.
Sicuramente sarà una grossa scioocchezza, dovuta alla mia ignoranza, che non riesco a capire.

nella grdi ho dataKeyName='Progressivo', l'avevo inserito anche nella formView, poi mi sembra che non serva. Lo metto, nella formView, o non serve?

Ho fatto anche un'altyra prova, dalla delete ho eliminata man mano i vari AND ..., ma funziona solo se rimane Perogressivo.
Un'altra indicazione, sia la grid che la form sono in un multiView

Non sono esperto di management studio e non so nè cosa sia nè come si usa profiler.
Provo e ti faccio sapere
se c'è, nel frattempo qualche altro consiglio è ben accetto

Gaetano
Modificato da gae58 il 14 settembre 2008 10.23 -
Modificato da gae58 il 14 settembre 2008 10.37 -
Modificato da gae58 il 14 settembre 2008 10.43 -
per rispondere correttamente dovremmo sapere la query risultante, senza parametri e i record nella tabella. cmq sicuramente la query non corrisponde al dataset per qualche parametro.

non ci dovrebbero essere altri errori nel codice.

Ormai programmano tutti... ma la professionalità appartiene a pochi
115 messaggi dal 06 luglio 2006
mi puoi dire + precisamente cosa ti devo dare?
Gae58 ha scritto:
mi puoi dire + precisamente cosa ti devo dare?


Allora... prima di tutto: utilizzi SqlServer Express o completa? Se usi quest'ultima, aprendo SQL Server Management Studio, vai su Tools -> SQL Server Profiler.

Dentro quest'ultimo premi la prima icona sulla toolbar (New Trace), effettua la connessione al DB e premi il pulsante "Run" nella maschera successiva. D'ora in poi questo tool monitorerà e mostrerà tutte le query inviate a SQL Server.

Ora... effettua nuovamente il tuo test e vedi un po' qual è l'effettiva query che viene inviata. Poi, fossi in te, eseguirei anche la versione con la sola FormView per vedere quali sono le differenze.

HTH

m.
115 messaggi dal 06 luglio 2006
Ho Micorsoft Sql Server Management Studio Express con Sql Server 2005.

Penso di non avere la versione completa, anche perchè non ho trovato il profiler.

Ho consultatao l'help e mi dice:
Per eseguire SQL Server Profiler, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2005, Strumenti per le prestazioni e quindi fare clic su SQL Server Profiler.

Ma non lo trovo. Come posso fare?

grazie
P.S.:
tieni presente che in precedente post avevo detto che ho creato una formView e l'ho testata.
Funziona tutto bene. Ho copiaato il codice del delete, ma niente da fare
Modificato da gae58 il 14 settembre 2008 18.01 -
492 messaggi dal 08 gennaio 2007
Ciao, forse nella versione express non c'è, non ricordo, per essere sicuro in Management Studio cerca sotto il menù Tool, è la prima (o la seconda) voce. Se c'è, prova a fare un trace, sulla tua macchina non avrai problemi di host o altro, quindi non dovrai praticamente settare nessun filtro, dal trace risultante l'ultima voce dovrebbe essere ciò che stai cercando. Anche se non credo che possa risolvere più di tanto, cioè tu lo sai già quale comando vai a eseguire, quindi in questo caso limitati a replicare il comando in Management Studio e guarda se il comando va a buon fine, e se non va a buon fine perchè.
A questo punto mi sta venendo la curiosità di dare un'occhiata alla struttura del DB...

Saluti
115 messaggi dal 06 luglio 2006
ho attivato il trace, ma non ho trovato nulla che mi potesse aiutare

qualche altra cosa?
Gae58 ha scritto:
ho attivato il trace, ma non ho trovato nulla che mi potesse aiutare

qualche altra cosa?


Cosa vuoi dire? Le query sono esattamente le medesime anche come valori? potresti cut-pastarle qui pliz? altrimenti è dura...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.