[.net 2.0]operazioni su db

mercoledì 18 ottobre 2006 - 15.10

beppesan Profilo | Newbie

Ciao, ho questo problema:

Sto creando delle pagine per gestire i contenuti di alcune tabelle. Utilizzo il classico metodo gridview+detailsview

se ho una tabella con solo due campi (es. cod,descrizione) riesco a effettuare qualsiasi operazione (inserimento/modifica/cancellazione).
Se invece aggiungo anche un solo campo, ecco che non funziona più nulla.
Ho provato sia con SQLserver, sia con Access... ma il risultato è sempre lo stesso. Non riesco a capire dove sta il problema....

Avete qualche suggerimento? A qualcuno è capitato qualcosa di simile?

Grazie & Ciao!
Beppesan
http://www.birraiolo.it

beppesan Profilo | Newbie

non restituisce nessun errore, semplicemente non esegue l'operazione.

Non ho personalizzato nulla nel codice: ho trascinato la gridview, creato e configurato l'sqldatasource, poi ho eseguito la stessa operazione per il datailsview, inserendo la clausola where in base alla selezione della grid.

Ho provato anche con i db pubs e northwind di microsoft... ma il problema persiste..
Beppesan
http://www.birraiolo.it

beppesan Profilo | Newbie

Il campo è stato aggiunto alla tabella nel db, e ho ricostruito da zero la pagina con la gridview e la detailsview.

Nel frattempo ho effettuato un po' di prove:
il problema si presenta solamente per i record che contengono un campo vuoto: questi record non sono modificabili, e se cerco di effettuare un inserimento lasciando uno dei campi vuoto non effettua l'operazione (idem per la cancellazione del record). Mentre se tutti i campi sono <> '' allora funziona tutto correttamente.

Nel db i campi sono dichiarati come nvarchar(50) e il campo "allow nulls" è flaggato (tranne che nel campo cod che è anche chiave primaria della tabella).


Probabilmente è un problema da nulla il mio... e la soluzione sarà ovvia ai più.. ma essendo io un novellino in .net ... bhè... portate pazienza :-)

Beppesan
http://www.birraiolo.it

beppesan Profilo | Newbie

Risolto:

Il codice generato in automatico è il seguente (riporto solo quello per la modifica, ma è tutto uguale anche per la altre operazioni):

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

come potete vedere nella clausola WHERE sono presenti tutti i campi della tabella. Quando li trovava = null la query non funzionava. Essendo il campo cod univoco, ho lasciato solamente quello nel WHERE e ora pare funzionare tutto correttamente.


Beppesan
http://www.birraiolo.it
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5