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
ASP.NET 2.0 / 3.5 / 4.0
Problema con update, insert e delete con una gridview/detailsview
martedì 17 luglio 2007 - 14.04
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Carmine
Profilo
| Junior Member
84
messaggi | Data Invio:
mar 17 lug 2007 - 14:04
Ho un grave problema... ovvero: non funziona nè l'update, nè
l'insert nè tantomeno il delete quando uso la gridview e/o la detailsview collegata a un SqlDataSource.
L'update praticamente clicco su aggiorna ma dopo i dati continuano a essere
quelli di prima.
L'insert e il delete falliscono... L'insert addirittura con runtime error...
Ad esempio l'insert dice: "la colonna X non può essere nulla" -.-
Praticamente è come se non passasse i parametri...
Questa la update query:
UPDATE miatabella SET val1 = @val1, val2 = @val2 WHERE ID = @ID
Che fare?
Webmaster di thetotalsite.it
Blog: blog.thetotalsite.it
La nuova community: forum.thetotalsite.it
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 17 lug 2007 - 14:10
>Ho un grave problema... ovvero: non funziona nè l'update, nè
>l'insert nè tantomeno il delete quando uso la gridview e/o la
>detailsview collegata a un SqlDataSource.
>L'update praticamente clicco su aggiorna ma dopo i dati continuano
>a essere
>quelli di prima.
Ciao,
io in genere procedo così, trascino la GridView sulla pagina Web in modalità Design. Mi sposto sopra la GridView esce lo SmartTag configuro il DataSource, con il Wizard. Ricordati di impostare una chiave primaria sulla tabella. Ad un certo punto ci sono due checkbox, una delle due ti chiede se generare anche i comandi di INSERT/DELETE/UPDATE, la abiliti completi lo Wizard, lanci l'applicazione e tutto dovrebbe funzionare automaticamente. Adotti gli stili richiesti (CSS) relativi alla GridView e sei a posto.
Se funziona, controlli cosa hai sbagliato nel codice che hai scritto tu.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Carmine
Profilo
| Junior Member
84
messaggi | Data Invio:
mar 17 lug 2007 - 14:31
>io in genere procedo così, trascino la GridView sulla pagina
>Web in modalità Design. Mi sposto sopra la GridView esce lo SmartTag
>configuro il DataSource, con il Wizard. Ricordati di impostare
>una chiave primaria sulla tabella. Ad un certo punto ci sono
>due checkbox, una delle due ti chiede se generare anche i comandi
>di INSERT/DELETE/UPDATE, la abiliti completi lo Wizard, lanci
>l'applicazione e tutto dovrebbe funzionare automaticamente. Adotti
>gli stili richiesti (CSS) relativi alla GridView e sei a posto.
No, se metto di generare automaticamente le query insert/update/delete mi mette poi roba del tipo:
UPDATE miatabella SET val1 = ?, val2 = ? WHERE ID = ?
-.- praticamente con tutti quegli "?".
Ah, uso il MySQLConnector .Net 5.1 con il plugin per visual studio 2005.
Che faccio?
Webmaster di thetotalsite.it
Blog: blog.thetotalsite.it
La nuova community: forum.thetotalsite.it
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 17 lug 2007 - 15:27
>No, se metto di generare automaticamente le query insert/update/delete
>mi mette poi roba del tipo:
>Ah, uso il MySQLConnector .Net 5.1 con il plugin per visual studio
>2005.
>UPDATE miatabella SET val1 = ?, val2 = ? WHERE ID = ?
Eh beh, qui allora cambia. il fatto che ci siano ? o @ dipende dal Data Provider. Access per esempio usa i ? mentre SQL Server il @. Allora per lavorare con i DataSources con MySQL dovresti poter usare il SqlDataSource con il driver ODBC per MySQL. Teoricamente non è la migliore soluzione come performance.
Io non conosco MySQLConnector ma immagino che questi pacchetti ti mettano a disposizione dei DataSource ad hoc esempio <asp:MySqlDataSource o simili.
Ciò che ti ho detto nel post precedente si può utilizzare come guida generica visto che il meccanismo poi per l'update sul DB è uguale per tutti.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Carmine
Profilo
| Junior Member
84
messaggi | Data Invio:
mar 17 lug 2007 - 15:35
>Eh beh, qui allora cambia. il fatto che ci siano ? o @ dipende
>dal Data Provider. Access per esempio usa i ? mentre SQL Server
>il @. Allora per lavorare con i DataSources con MySQL dovresti
>poter usare il SqlDataSource con il driver ODBC per MySQL. Teoricamente
>non è la migliore soluzione come performance.
No, aspetta, il MySQLConnector non è l' ODBC Connector ma un Driver fatto ad hoc per .net.
Fornisce anche il provider per Visual Studio, quindi da "esplora database" ho aggiunto la connessione al db MySQL.
Riesco quindi a collegare normalmente il datasource.
Ora però non capisco perchè è come se non mi passasse i parametri passati dalla detailsview :-(
Webmaster di thetotalsite.it
Blog: blog.thetotalsite.it
La nuova community: forum.thetotalsite.it
Carmine
Profilo
| Junior Member
84
messaggi | Data Invio:
mar 17 lug 2007 - 17:07
RISOLTO!!!
I parametri, come dicevi tu, non andavano passati con la "@" come in sql server, bensì con "?"!
Grazie!
Webmaster di thetotalsite.it
Blog: blog.thetotalsite.it
La nuova community: forum.thetotalsite.it
samar
Profilo
| Senior Member
310
messaggi | Data Invio:
mar 7 ott 2008 - 10:35
C'ho perso 2 giorni per sta cavolata del ? al posto della @!!!!
GRAZIE!!!!!!!!!!
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 !