Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Eccezione che non riesco a spiegarmi
martedì 15 marzo 2005 - 10.26
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
giorgiodipietro
Profilo
| Junior Member
125
messaggi | Data Invio:
mar 15 mar 2005 - 10:26
Un saluto a tutto il forum...ho un piccolo problema che non riesco a risolvere...
quando aggiungo una riga, completa e correttta in ogni suo campo, con il metodo Rows.add(riga) mi da questa eccezione:
System.Data.EvaluateException: Impossibile eseguire l'operazione '=' su System.DateTime e System.Double.
at System.Data.DataTable.InsertRow(DataRow row, Int32 proposedID, Int32 pos)
at System.Data.DataTable.AddRow(DataRow row, Int32 proposedID)
at System.Data.DataRowCollection.Add(DataRow row)
...dalla guida mi dice che riguarda la proprietà Expression di una colonna, ma questa proprietà è impostata a ""...
Chi mi sa dare una mano...
Grazie
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mar 15 mar 2005 - 21:32
Se aggiungi un evento:
OnRowUpdating e vai con il debugger a verificare la stringa (commandtext) che ha preparato vedrai che alcuni valori sono sbagliati.
Infatti le condizioni where per l'update sono fatte nel seguente modo:
and (campo = @campo or @campo = null) oppure, nel caso di access (campo = ? or ? = null)
Se hai sql usa il profiler e vedrai subito l'errore
antoleo
Profilo
| Newbie
14
messaggi | Data Invio:
mer 16 mar 2005 - 18:48
Sto cercando di fare l'update di una riga del datatable dove praticamente (per esercizio) sto reinserendo gli stessi dati già contenuti.
quando eseguo l'update mi dice che c'è un problema di concorrenza (sto lavorando solo io in locale) e analizzando la proprietà cmdtext mi trovo
UPDATE `tblAziende` SET `cDescrizione`=?cDescrizione, `cPartitaIva`=?cPartitaIva, `cUserID`=?cUserID, `lDataModifica`=?lDataModifica, `fEsiste`=?fEsiste WHERE `IDAzienda` <=> ?Original_IDAzienda AND `cDescrizione` <=> ?Original_cDescrizione AND `cPartitaIva` <=> ?Original_cPartitaIva AND `cUserID` <=> ?Original_cUserID AND `lDataModifica` <=> ?Original_lDataModifica AND `fEsiste` <=> ?Original_fEsiste; SELECT `IDAzienda`, `cDescrizione`, `cPartitaIva`, `cUserID`, `lDataModifica`, `fEsiste` FROM `tblAziende` WHERE (`IDAzienda`=?Original_IDAzienda)
cosa significa?
Praticamente
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
mer 16 mar 2005 - 22:09
Praticamente quello è il comando che l'update del dataset popola ad ogni giro sostituendo i ? con i parametri che ha creato nel command
antoleo
Profilo
| Newbie
14
messaggi | Data Invio:
gio 17 mar 2005 - 10:45
ok questo l'avevo intuito, ma non ha senso quello che crea nella sezione where della query. Ripeto: io sto lavorando su un DB in locale in monoutenza e sto cercando di updatare la datarow del datatable con le stesse informazioni. Sono due giorni che cerco di capirci qualcosa
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
gio 17 mar 2005 - 17:33
I parametri presenti nella query riguardano il dataadapter e gli dicono di andare a prendere il valore precedente la modifica, perchè lui li cerca sempre con il valore precedente la modifica e quindi genera dei parametri diversi
Se non ti piace questa cosa devi fare come me che sono intervenuto su tutte le query togliendo/aggiungendo valori ai parametri
Torna su
Stanze Forum
Elenco Threads
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 !