186 messaggi dal 25 maggio 2007
Ciao a tutti,

Ho queste due tabelle:
Clienti [id,nome,cognome,data,esito,...]
Visite [id, id_cliente,data,esito]

Vorrei fare in modo che quando inserisco una nuova visita tramite form, oltre a inserire una nuova riga in VISITE vorrei aggiornate il campo data di CLIENTI con la nuova data.

Al momento ho un formView che inserisce i dati solo in Visite.
Come posso fare ad inserire i dati anche nell'altra tabella?
secondo me è una cosa che potesti fare tramite un trigger a livello di db

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
186 messaggi dal 25 maggio 2007
Ti ringrazio per il suggerimento.

Posso farlo direttamente nella pagina?
Io volevo fare in modo che quando attivavo l'insert dopo partiva l'update con lo stesso valore di data ma non riesco a far prendere il valore.


Modificato da jampicoll il 01 febbraio 2010 16.45 -
186 messaggi dal 25 maggio 2007
Ho provato cosi ma non funziona...

Nella funzione richiamo i metodi Insert e Update

<asp:SqlDataSource ID="salvaVisita" runat="server"
ConnectionString="<%$ ConnectionStrings:personaleConnectionString %>"
InsertCommand="IF NOT EXISTS (SELECT visita.id_visita FROM [visita] WHERE visita.data = @data AND visita.id_cliente = @LabelID AND visita.esito = @esito AND visita.data_prox = @data_prox) INSERT INTO visita (id_cliente,data,operatore,esito,data_prox,note,operatore_prox) VALUES (@LabelID,@data,@operatore,@esito,@data_prox,@note,@operatore_prox)"
UpdateCommand="UPDATE [cliente] SET [data] = @data WHERE [id_cliente] =@LabelID">

<InsertParameters>
<asp:ControlParameter Name="LabelID" controlID="LabelID" Type="Int16"/>
<asp:ControlParameter Name="data" controlID="data" Type="DateTime"/>
<asp:ControlParameter Name="operatore" controlID="operatore" Type="Int16"/>
<asp:ControlParameter Name="esito" controlID="esito" Type="String"/>
<asp:ControlParameter Name="data_prox" controlID="data_prox" Type="DateTime"/>
<asp:ControlParameter Name="note" controlID="note" Type="String"/>
<asp:ControlParameter Name="operatore_prox" controlID="operatore_prox" Type="Int16"/>
</InsertParameters>

<UpdateParameters>
<asp:Parameter Name="LabelID" Type="Int16"/>
<asp:Parameter Name="data" Type="Datetime" />
<asp:Parameter Name="esito" Type="String" />
<asp:Parameter Name="prox_data" Type="Datetime" />
</UpdateParameters>

</asp:SqlDataSource>
Modificato da jampicoll il 01 febbraio 2010 17.08 -
3.939 messaggi dal 28 gennaio 2003
jampicoll ha scritto:
Ciao a tutti,

Ho queste due tabelle:
Clienti [id,nome,cognome,data,esito,...]
Visite [id, id_cliente,data,esito]

Vorrei fare in modo che quando inserisco una nuova visita tramite form, oltre a inserire una nuova riga in VISITE vorrei aggiornate il campo data di CLIENTI con la nuova data.

Al momento ho un formView che inserisce i dati solo in Visite.
Come posso fare ad inserire i dati anche nell'altra tabella?


Queste cose le faccio da sempre e con piena soddisfazione usando le transazioni.
Basta aprire una transazione e fare le operazioni più disparate sulle tabelle.
Nota che, all'opposto di asp, che non funzionava bene, con asp.net, con oracle o access va assolutamente bene.

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.