Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
[ASP.Net Gridview] eccezione solo con alcuni valori
Ultimo Post 07 mag 2008 07.35 by Rudy (DNW TEAM). 5 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi

Posts:435

--
30 apr 2008 17.30  
Ciao,

Situazione: Pagina ASP con una gridview legata ad un ObjectDataSource che a sua volta si riferisce ad un dataset tipizzato creato con l'IDE.

il tableadapter ha 2 metodi, uno standard che estrae tutto, ed uno personalizzato con 2 parametri: @data ed @escludi.

l'obbiettivo e' quello di estrarre tutti i record di una tabella relativi ad una @data che abbiano il campo trasmesso <> @escludi

Se provo il metodo del tableadapter con "anteprima dati" mettendo '0' oppure '1' o '2' tutto ok, mi estrae quelli che hanno 1, 0 o tutti. Deduco quindi che tutto funziona, ma una volta che faccio il bind della gridview ottengo un'eccezione che dice:

Impossibile attivare i vincoli. Una o più righe contengono valori che violano il vincolo non-null, unique o foreign-key.

per passare i parametri all' ObjectDataSource le ho provate tutte, adesso uso delle variabili di session

(questa e' una response write prima del bind)

Session datareport 30/04/2008
Session escludi 1

l'unico valore che riesco a passare senza errori e' '1', qualunque altra cosa genera l'eccezione di cui sopra.

Non credo che sia un problema di query, altrimenti non funzionerebbe nell'anteprima del dataset.

Suggerimenti su dove sbattere la testa ?

Grazie, Max.

Posts:435

--
06 mag 2008 09.41  
Up... :(

Posts:657

--
06 mag 2008 09.57  
Inviato da Max on 30/04/2008 18.30.20

Ciao,

Situazione: Pagina ASP con una gridview legata ad un ObjectDataSource che a sua volta si riferisce ad un dataset tipizzato creato con l'IDE.

il tableadapter ha 2 metodi, uno standard che estrae tutto, ed uno personalizzato con 2 parametri: @data ed @escludi.

l'obbiettivo e' quello di estrarre tutti i record di una tabella relativi ad una @data che abbiano il campo trasmesso <> @escludi

Se provo il metodo del tableadapter con "anteprima dati" mettendo '0' oppure '1' o '2' tutto ok, mi estrae quelli che hanno 1, 0 o tutti. Deduco quindi che tutto funziona, ma una volta che faccio il bind della gridview ottengo un'eccezione che dice:

Impossibile attivare i vincoli. Una o più righe contengono valori che violano il vincolo non-null, unique o foreign-key.

per passare i parametri all' ObjectDataSource le ho provate tutte, adesso uso delle variabili di session

(questa e' una response write prima del bind)

Session datareport 30/04/2008
Session escludi 1

l'unico valore che riesco a passare senza errori e' '1', qualunque altra cosa genera l'eccezione di cui sopra.

Non credo che sia un problema di query, altrimenti non funzionerebbe nell'anteprima del dataset.

Suggerimenti su dove sbattere la testa ?

Grazie, Max.


-Il dataset tipizzato ha più tabelle in relazione?
-Devi fare solo una select ma hai attivato anche l'autogenerazione della delete,insert,update?
-Il tipo di dati dei parametri è corretto?
-Prova a postare il codice asp.net della pagina che lo vediamo.
Rudy Azzan

Posts:435

--
06 mag 2008 10.20  
Nella pagina asp ho un controllo datepicker per selezionare la data ed una CheckBox per selezionare deselzionata di default che nell'evento CheckedChanged cambia il valore di "Escludi":

Checked: escludi = "2" Unchecked Escludi ="1"

Questo perche' dovrei visualizzare solo quelli che hanno trasmesso = "0" di default o in alternativa tutti i record.

La pressione di un button lancia la routine di visualizzazione.

Nel dataset ci sono 2 tabelle ma non sono relazionate.

Ho generato solo la Query di Select che e' questa:

SELECT dbo.L_ODL.CODODP AS IO, dbo.L_ODL.CODORDINE, SUM(dbo.S_ODL.LORDO) AS Lordo, SUM(dbo.S_ODL.SCARTI) AS Scarti, SUM(dbo.S_ODL.LORDO)
- SUM(dbo.S_ODL.SCARTI) AS Netto, dbo.L_ODL.DESPARTEODP, dbo.L_ODL.LOTTO, dbo.L_ODL.STATUS, dbo.L_ODL.DTFINEEFF, dbo.L_ODL.HFINEEFF,
dbo.S_ODL.CODCDL, dbo.S_ODL.CODODL
FROM dbo.S_ODL LEFT OUTER JOIN
dbo.L_ODL ON dbo.S_ODL.CODODL = dbo.L_ODL.CODODL
WHERE (dbo.S_ODL.FLAGAPERTO = '0') AND (LEFT(dbo.L_ODL.CODORDINE, 1) = 'F') AND (dbo.S_ODL.DATAINIZIO = CONVERT(DATETIME, DATEADD(dd, - 1, @data),
102)) AND (dbo.S_ODL.ORAINIZIO >= 21600) AND (dbo.S_ODL.TRASMESSO <> @escludi) OR
(dbo.S_ODL.FLAGAPERTO = '0') AND (LEFT(dbo.L_ODL.CODORDINE, 1) = 'F') AND (dbo.S_ODL.DATAINIZIO = @data) AND (dbo.S_ODL.ORAINIZIO < 79200)
AND (dbo.S_ODL.TRASMESSO <> @escludi) AND (dbo.S_ODL.TURNO = 3)
GROUP BY dbo.L_ODL.CODORDINE, dbo.L_ODL.CODODP, dbo.L_ODL.DESPARTEODP, dbo.L_ODL.LOTTO, dbo.L_ODL.DTFINEEFF, dbo.L_ODL.HFINEEFF,
dbo.L_ODL.STATUS, dbo.S_ODL.CODCDL, dbo.S_ODL.CODODL
ORDER BY dbo.L_ODL.CODODP

(e funziona in anteprima dati, sia con @escludi =0 che con @escludi = 1 o 2)

la parte di codice che genera l'errore e' questa:

Protected Sub btnShowData_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShowData.Click
datareport = GMDatePicker1.Date.ToShortDateString
Session.Item("datareport") = datareport
Session.Item("escludi") = escludi
Label1.Text = "Report di produzione del giorno: " & datareport.ToShortDateString
Response.Write("Session datareport " & Session.Item("datareport") & "<br>")
Response.Write("Session escludi " & Session.Item("escludi") & "<br>")
GridView1.DataBind()
End Sub

datareport e valore di "escludi" sono corretti (ho messo i response.write apposta..)

Evidentemente mi sono incasinato da qualche parte...

Grazie.
Max.

Posts:435

--
06 mag 2008 10.24  
Aggiungo anche questo:

La gridview e' bindata ad un objectdatasource che ha come origine dati il metodo del dataset.

Anche levando la riga datagridview1.bind() ottengo l'errore riportato sopra in questo punto:

Riga 4179: }
Riga 4180: DSCaricoDati.S_ODLDataTable dataTable = new DSCaricoDati.S_ODLDataTable();
Riga 4181: this.Adapter.Fill(dataTable); <------- qui
Riga 4182: return dataTable;
Riga 4183: }

Posts:657

--
07 mag 2008 07.35  
Forse hai dimenticato di inizializzare qualcosa, o passi qualche tipo
di dato sbagliato, se in visualizzazione funziona.

Rudy Azzan
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
ADO.NET Funzionalità di base
Effettuare una ricerca su recordset disconnessi tramite DataView
2007/12/02 | Autore: Andrea Zingoni
Fritto misto - Classi di uso comune (parte 1)
Helper: Una classe per operare sulle stringhe
2007/10/20 | Autore: Sabrina Cosolo
Lavorare con gli Array
Il problema dello zaino
2007/07/29 | Autore: Alberto De Luca
SQL Server 2000/2005 Manutenzione Database
Uso di DBCC ShowContig e di sys.dm_db_index_physical_stats
2007/08/05 | Autore: Sabrina Cosolo
Unit Testing del codice (parte 1)
Le basi per la costruzione di test per rendere più solido il nostro codice
2007/12/26 | Autore: Sabrina Cosolo
Lavorare con i Generic - Led Control
Creare un controllo che simula i moduli LED
2007/11/11 | Autore: Alberto De Luca
Programmer Paster Addin per Expression Web 1 e 2
Implementare un Addin per Expression Web 1 e 2 che usa la libreria ProgrammerPaster
2009/02/26 | Autore: Rudy Azzan
Miniguida alla OOP con il .NET Framework- Parte I
Come prendere per mano un tipico programmatore VB6
2008/07/27 | Autore: Alberto De Luca
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.