56 messaggi dal 27 agosto 2002
Moreno buongiorno,

ho modificato il "pezzo" utilizzando il tuo consiglio. Il comportamento non cambia assolutamente sia in un caso che nell'altro. Campo vuoto. Non segnala alcun errore.
Credo che il problema sia nell'assenza di "connessione" tra le varie operazioni?.

Ho scaricato l'esempio che mi hai linkato?? ma mi crea problemi nel web.config?...perché non trova il Provider?.


Cancellando dal Config il riferimento alla connessione la risposta è la seguente:


Il nome della connessione 'MyNorthwind' non è stato trovato nella configurazione delle applicazioni o la stringa di connessione è vuota.

In "mio" Northwind è un file Access?.

Come vado avanti?..posso cambiare la fonte dati come AccessDataSource?

Per intanto, grazie e buona giornata.

Bepi
56 messaggi dal 27 agosto 2002
Ciao,
sono riuscito a far funzionare l'esempio, trasformando la connessione in accessDataSource?.. mi pare che sia l'esempio giusto. Il pomeriggio cercherò di utilizzare tali indicazioni. Ti faro sapere. Mandi e ancora grazie.

epi
11.886 messaggi dal 09 febbraio 2002
Contributi
Guarda ho preparato un esempio apposito che ti mostra come valorizzare il parametro dell'AccessDataSource. Scarica il progetto da qui:
https://1drv.ms/u/s!Ao4rhSdtDw8rge9BwsyvbdDfNpr0Kw

Lato markup trovi una GridView che visualizza le rige e, in cima, una casella di testo in cui inserire un valore. L'aggiornamento viene scatenato cliccando un bottone posto nei pressi della casella di testo.
<form runat="server">
            Aumenta tutti i prezzi del <asp:TextBox ID="Textbox1" MaxLength="3" runat="server"></asp:TextBox>%<br />
            <asp:Button ID="ModificaPrezzi" Text="Conferma" OnClick="ModificaPrezzi_Click" runat="server" />
            <br /><br />
        <asp:AccessDataSource ID="AccessDataSource1" DataFile="~/App_Data/Database1.accdb" 
            SelectCommand="SELECT * FROM Tabella1"
            UpdateCommand="UPDATE Tabella1 SET Prezzo = Prezzo * (1 + @Variazione)"
            OnUpdating="AccessDataSource1_Updating"
            runat="server">
            <UpdateParameters>
                <asp:Parameter Name="Variazione" DbType="Double" />
            </UpdateParameters>
        </asp:AccessDataSource>
                <asp:GridView id="griglia" AutoGenerateColumns="false" DataSourceID="AccessDataSource1" runat="server">
                    <Columns>
                           <asp:BoundField HeaderText="Nome prodotto" DataField="Nome" />
                            <asp:BoundField HeaderText="Prezzo" DataField="Prezzo" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="Right" />
                    </Columns>
                 </asp:GridView>
            <asp:Label ID="Label1" runat="server" />
         </form>


Lato codefile, il gestore del click del bottone scatena l'update sull'AccessDataSource.
Nel gestore dell'evento Updating dell'AccessDataSource, viene valorizzato il parametro che verrà usato nella query UPDATE.
    Protected Sub ModificaPrezzi_Click(sender As Object, e As EventArgs)
        'Prima di scatenare l'update, verifico se il valore inserito nella casella è numerico
        If IsNumeric(Textbox1.Text) Then
            AccessDataSource1.Update()
        End If
    End Sub

    Protected Sub AccessDataSource1_Updating(sender As Object, e As SqlDataSourceCommandEventArgs)
        'Subito prima che l'UPDATE venga eseguito, recupero il valore dalla casella
        Dim variazione As Double = Convert.ToDouble(Textbox1.Text) / 100.0
        'E lo assegno al parametro
        e.Command.Parameters("Variazione").Value = variazione
        'Infine stampo un messaggio di cortesia e svuoto la casella
        Label1.Text = "I prezzi sono stati " + IIf(variazione >= 0, "aumentati", "diminuti") + " del " + Math.Abs(variazione).ToString("P")
        Textbox1.Text = ""

    End Sub


Come si evince dal codice, questo esempio serve ad aumentare o diminuire massivamente i prezzi di una certa percentuale. Dovrai adattare la query UPDATE in base alle tue esigenze.

ciao,
Moreno
Modificato da BrightSoul il 02 agosto 2018 20.21 -

Enjoy learning and just keep making
56 messaggi dal 27 agosto 2002
Moreno ti ringrazio dell'aiuto. Il link indicato è ottimo. Perfetto per il mio caso. Quello di stasera vedrò di studiarlo. Ti farò sapere. mandi Bepi
56 messaggi dal 27 agosto 2002
Scusa se rompo.... se puoi, mi potresti indicare un link di esempio per "marcare" i record attraverso CheckBox e poi eliminarli ? E ancora.... come cancellare una tabella ?

Grazie

bepi
11.886 messaggi dal 09 febbraio 2002
Contributi

mi potresti indicare un link di esempio per "marcare" i record attraverso CheckBox e poi eliminarli


Ecco qua un video:
https://www.youtube.com/watch?v=BJM3fZRHBOQ


come cancellare una tabella ?

Dipende da cosa intendi.
  • Se vuoi eliminare tutti i record di una tabella (anche detto "troncare la tabella"), esegui il comando SQL "DELETE * FROM NomeTabella"
  • Se vuoi proprio eliminare la tabella (che comprende dati e schema) dal database, allora usa il comando "DROP TABLE NomeTabella"


Giuseppe... compra un libro. Non puoi perdere tutto questo tempo per compiti elementari.

ciao,
Moreno

Enjoy learning and just keep making
56 messaggi dal 27 agosto 2002
Ciao Moreno,

grazie per la risposta e per il consiglio. Il problema però non è l'acquisto di un libro..... negli anni ho già comperato dei libri.... anche di autori di questo sito..... il "mio" problema è che non trovo delle pubblicazioni "pratiche"..... i comandi che ti ho chiesto li ho sempre utilizzati fino a poco tempo fa con asp.... e funzionavano.... la logica di aspx è diversa...... Cmq se hai un libro da indicarmi.... magari.

Mandi Bepi

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.