115 messaggi dal 06 luglio 2006
questa è la query comprensiva di paramentri:
<asp:SqlDataSource ID="SqlDsDebitoSi" runat="server" ConflictDetection="CompareAllValues" ConnectionString="<%$ ConnectionStrings:DirGen %>" DeleteCommand="DELETE FROM Debito WHERE (Progressivo = @original_Progressivo)" InsertCommand="INSERT INTO [Debito] ([Capitolo], [Ufficio], [FatturaNume], [FatturaData], [Importo], [Fornitore], [CodGestionale], [OggettoSpesa], [Residuo], [Direzione]) VALUES (@Capitolo, @Ufficio, @FatturaNume, @FatturaData, @Importo, @Fornitore, @CodGestionale, @OggettoSpesa, @Residuo, @Direzione)" OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT Progressivo, Capitolo, Ufficio, FatturaNume, FatturaData, Importo, Fornitore, CodGestionale, OggettoSpesa, Residuo, Direzione FROM Debito WHERE (Progressivo = @Progressivo) ORDER BY Capitolo" UpdateCommand="UPDATE [Debito] SET [Capitolo] = @Capitolo, [Ufficio] = @Ufficio, [FatturaNume] = @FatturaNume, [FatturaData] = @FatturaData, [Importo] = @Importo, [Fornitore] = @Fornitore, [CodGestionale] = @CodGestionale, [OggettoSpesa] = @OggettoSpesa, [Residuo] = @Residuo, [Direzione] = @Direzione WHERE [Progressivo] = @original_Progressivo AND [Capitolo] = @original_Capitolo AND [Ufficio] = @original_Ufficio AND [FatturaNume] = @original_FatturaNume AND [FatturaData] = @original_FatturaData AND [Importo] = @original_Importo AND [Fornitore] = @original_Fornitore AND [CodGestionale] = @original_CodGestionale AND [OggettoSpesa] = @original_OggettoSpesa AND [Residuo] = @original_Residuo AND [Direzione] = @original_Direzione" OnInserted="SqlDsDebitoSi_Inserted" OnDeleting="SqlDsDebitoSi_Deleting">
<DeleteParameters>
<asp:Parameter Name="original_Progressivo" Type="Int32" />
<asp:Parameter Name="original_Capitolo" Type="String" />
<asp:Parameter Name="original_Ufficio" Type="String" />
<asp:Parameter Name="original_FatturaNume" Type="String" />
<asp:Parameter Name="original_FatturaData" Type="DateTime" />
<asp:Parameter Name="original_Importo" Type="Decimal" />
<asp:Parameter Name="original_Fornitore" Type="String" />
<asp:Parameter Name="original_CodGestionale" Type="String" />
<asp:Parameter Name="original_OggettoSpesa" Type="String" />
<asp:Parameter Name="original_Residuo" Type="Boolean" />
<asp:Parameter Name="original_Direzione" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Capitolo" Type="String" />
<asp:Parameter Name="Ufficio" Type="String" />
<asp:Parameter Name="FatturaNume" Type="String" />
<asp:Parameter Name="FatturaData" Type="DateTime" />
<asp:Parameter Name="Importo" Type="Decimal" />
<asp:Parameter Name="Fornitore" Type="String" />
<asp:Parameter Name="CodGestionale" Type="String" />
<asp:Parameter Name="OggettoSpesa" Type="String" />
<asp:Parameter Name="Residuo" Type="Boolean" />
<asp:Parameter Name="Direzione" Type="String" />
<asp:Parameter Name="original_Progressivo" Type="Int32" />
<asp:Parameter Name="original_Capitolo" Type="String" />
<asp:Parameter Name="original_Ufficio" Type="String" />
<asp:Parameter Name="original_FatturaNume" Type="String" />
<asp:Parameter Name="original_FatturaData" Type="DateTime" />
<asp:Parameter Name="original_Importo" Type="Decimal" />
<asp:Parameter Name="original_Fornitore" Type="String" />
<asp:Parameter Name="original_CodGestionale" Type="String" />
<asp:Parameter Name="original_OggettoSpesa" Type="String" />
<asp:Parameter Name="original_Residuo" Type="Boolean" />
<asp:Parameter Name="original_Direzione" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="Capitolo" Type="String" />
<asp:Parameter Name="Ufficio" Type="String" />
<asp:Parameter Name="FatturaNume" Type="String" />
<asp:Parameter Name="FatturaData" Type="DateTime" />
<asp:Parameter Name="Importo" Type="Decimal" />
<asp:Parameter Name="Fornitore" Type="String" />
<asp:Parameter Name="CodGestionale" Type="String" />
<asp:Parameter Name="OggettoSpesa" Type="String" />
<asp:Parameter Name="Residuo" Type="Boolean" />
<asp:Parameter Name="Direzione" Type="String" />
</InsertParameters>
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="Progressivo" PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>


non è proprio ciò che ti ho chiesto. Io vorrei conoscere il contenuto delle due query che vengono eseguite su DB e che visualizzi tramite il profiler, e soprattutto sapere quali sono i valori che vengono assegnati ai parametri.

Ciao
115 messaggi dal 06 luglio 2006
ho la version express ed il profiler non c'é

cosa posso fare?
Gae58 ha scritto:
ho la version express ed il profiler non c'é

cosa posso fare?


prova questo
http://sqlprofiler.googlepages.com/

ciao
quello che hai riportato nella delete è quello che funziona (solo con il progressivo), riporta quello che non funziona.

Scrivici anche il record che ti aspetti nel dataset dei risultati e invece non appare.

Ormai programmano tutti... ma la professionalità appartiene a pochi
115 messaggi dal 06 luglio 2006
nel post precedente c'è tutto.

Non se serva quals'altro
nella delete hai un parametro e poi ne dichiari 100... qualcosa non quadra.

cmq gli altri ti chiedono la query sql reale che viene eseguita.

e io ti chiedo il record che ti aspetti che venga restituito ma che non ti viene restituito.

Ormai programmano tutti... ma la professionalità appartiene a pochi
492 messaggi dal 08 gennaio 2007
Non posso che quotare Manuel, perdona, ma devi rivedere il comando della delete...
<DeleteParameters>
<asp:Parameter Name="original_Progressivo" Type="Int32" />
<asp:Parameter Name="original_Capitolo" Type="String" />
<asp:Parameter Name="original_Ufficio" Type="String" />
<asp:Parameter Name="original_FatturaNume" Type="String" />
<asp:Parameter Name="original_FatturaData" Type="DateTime" />
<asp:Parameter Name="original_Importo" Type="Decimal" />
<asp:Parameter Name="original_Fornitore" Type="String" />
<asp:Parameter Name="original_CodGestionale" Type="String" />
<asp:Parameter Name="original_OggettoSpesa" Type="String" />
<asp:Parameter Name="original_Residuo" Type="Boolean" />
<asp:Parameter Name="original_Direzione" Type="String" />
</DeleteParameters> 

... non puoi includere nella clausola where della delete solo un parametro, come fai qui:
DeleteCommand="DELETE FROM Debito WHERE (<b>Progressivo = @original_Progressivo</b> )"

... te ne mancano 10,e devi fare in modo di passarglieli, da wizard, bindando controlli, da querystring, session, hiddenfield, ecc, scegli tu.
Trovi esempi esaustivi su questo tipo di scenario a questo indirizzo:
http://www.asp.net/learn/data-access/ alla sezione Master/Detail, nella stessa pagina c'è anche un tutorial che riguarda la concorrenza ottimistica, sono tutti molto ben fatti neanche a dirlo... buona lettura

HTH

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.