Volazione di concorrenza: UpdateCommand ha modificato 0 dei 1 record p...

giovedì 10 giugno 2010 - 13.54

clode87 Profilo | Newbie

ciao a tutti. sto realizzando un applicazione che utilizza la connessione ad un database.

nella form principale apro la connessione e carico i dati di tutte le tabelle del database, tuttavia quando devo modificare una riga della colonna licenza mi affido ad un form secondario.

qui ho importato il mio dataset ed il mio tableadapter.


Dim dRow As DbAssistenzaDataSet.LicenzaNRow
dRow = Me.DbAssistenzaDataSet.LicenzaN.Rows.Find(Form1.IDLicenzaSelezionato)

dRow.DataAtt = DateTimePickerDataAttLicenza.Value

If (CheckBoxScadLicenza.CheckState = CheckState.Checked) Then

Dim data As Date

data = "01/01/9999"


dRow.DataScad = data

Else
dRow.DataScad = DateTimePickerDataScadLicenza.Value


End If

dRow.Attiva = True
dRow.Canone = dRow.Canone
dRow.ID_Aziendale = dRow.ID_Aziendale

dRow.ID_Sw = dRow.ID_Sw
dRow.ID_LicDett = 0


Me.LicenzaNTableAdapter.Update(Me.DbAssistenzaDataSet.LicenzaN)

riesco ad estrarre i dati ma quando faccio per salvarli mi da il seguente errore sull'update:

Violazione di concorrenza: UpdateCommand ha modificato 0 dei 1 record previsti.

il problema è che io sono l'unico utente che accede al database quindi è impossibile che i dati siano stati modificati da un'altro, in piu da quando carico il dataset a quando lo aggiorno passano 10 righe di codice!



l'unico dubbio che ho è il fatto che per far visualizzare grid particolari con dati provenienti da tabelle differenti creo un datatable facendo un join tra le tabelle interessate....
però questi dati li utilizzo solo per leggere e creare nuove righe di quella tabella senza toccare però la tabella interessata..... qualche idea???

alx_81 Profilo | Guru

>ciao a tutti. sto realizzando un applicazione che utilizza la
>connessione ad un database.
Ciao, a quale database?

>Violazione di concorrenza: UpdateCommand ha modificato 0 dei 1 record previsti.
>qualche idea???
in base al db su cui accedi, dovresti provare a fare debug per capire come avviene quella update.
Magari (se hai sql server) tracciare con profiler per vedere che chiamata arriva, ecc..

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

clode87 Profilo | Newbie

ho generato il dataset utilizzando i wizard e non da codice, in più ho creato qualche tabella d'appoggio per gestire la visualizzazionedei dati....


ma la cosa strana è che quando estraggo la riga questa è giusta! l'errore si scatena quando la salvo nel database....



alx_81 Profilo | Guru

ripeto la domanda, che database utilizzi?

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

clode87 Profilo | Newbie

si scusami... uso microsoft sql server 2005....

alx_81 Profilo | Guru

>si scusami... uso microsoft sql server 2005....
allora apri il profiler (tools-->sql profiler) e traccia la chiamata che fai quando fai update..
prendi l'sql che viene fuori e lancialo da management studio.
Vedi che errore ottieni.

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

clode87 Profilo | Newbie

non riesco atrovarlo in visual studio... ed in più volevo creare un profiler da sql server utilizzando un tool che ho trovato ma mi dice che l'utente selezionato non ha i privilegi necessari.....
cambiando i privilegi dell'utente mi va in errore sql server.....

alx_81 Profilo | Guru

>non riesco atrovarlo in visual studio... ed in più volevo creare
>un profiler da sql server utilizzando un tool che ho trovato
>ma mi dice che l'utente selezionato non ha i privilegi necessari.....
>cambiando i privilegi dell'utente mi va in errore sql server.....
aspetta aspetta.. il profiler è in SQL Server Management Studio, che edizione di sql server hai? è quella free? Hai installato il client di gestione del db?

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

clode87 Profilo | Newbie

ho la versione express.... ed ho installato sql server managment express.....

scusa una domanda.... per filtrare i dati io vado nella schermata di progettazione del dataset e creo una nuova tabella, in questa tabella inserisco le tabelle che voglio unite con i join poi le utilizzo per riempire i miei grid...... queste tabelle le utilizzo solo per leggere i dati e mai per scriverli.....

ho paura che la creazione di queste tabelle mi crei problemi di allineamento tra dataset e database, forse dovuto al fatto che certe chiavi si ripetono sia nella tabella principale sia in quella creata con i join.....

ho voluto provare a filtrare i dati non lato dataset ma lato database utilizzando le viste generate da sql server per poi importarle nel mio dataset, pensando che ,visto che le viste sono un oggetto di sola lettura, potessi risolvere il problema, ma ho notato che visual studio tratta le viste nello stesso modo in cui tratta le tabelle che creo aggiungendole al dataset, ovvero creando un tableAdapter e via dicendo.
pensi che la procedura delle viste possa darmi lo stesso problema?

se si come faccio a raggruppare i miei dati per poterli visualizzare semza che il mio database si incavoli come una iena?????

clode87 Profilo | Newbie

Quindi proprio nessuno può aiutarmi????

alx_81 Profilo | Guru

>ho la versione express.... ed ho installato sql server managment express.....
quindi il profiler non lo hai.

>pensi che la procedura delle viste possa darmi lo stesso problema?
sinceramente non ho mai usato dataset in quel modo. Mi piacerebbe aiutarti ma così non so proprio cosa risponderti.
Torno a ripeterti di mettere un bel breakpoint sul metodo che salva il dataset per capire cosa succede e quale sia il comando generato.
In quel modo otterrai informazioni su cosa accade quando salvi il database.
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5