View Full Version : [ASP.NET] query inserimento da DetailsView1
slacky82
09-02-2010, 19:25
Salve vorrei eseguire una query di inserimento parametrizzata, mi spiego meglio:
ho un DetailsView collegato ovviamente a un SqlDataSource ho abilitato i tasti di modifica inserimento e cancellazione.
Il DetailsView quando clicco su aggiungi mi popola i seguenti campi:
nome
cognome
etc.
vorrei pero che il campo data_inserimento prendesse la data in automatico e la inserisse senza che l'utente debba riempire il campo.
come faccio???:D
nuovoUtente86
10-02-2010, 13:28
utilizza la funzione Now(), che ritorna informazioni sul data e ora corrente.
slacky82
10-02-2010, 13:34
utilizza la funzione Now(), che ritorna informazioni sul data e ora corrente.
si ma il mio problema è come mettere l'informazione nella query
nuovoUtente86
10-02-2010, 13:50
allora puoi utilizzare direttamente in GETDATE() di Sql Server, facendo gli oppurtini cast per formattare la data come ti occorre.
slacky82
10-02-2010, 14:48
allora puoi utilizzare direttamente in GETDATE() di Sql Server, facendo gli oppurtini cast per formattare la data come ti occorre.
questo è il mio codice:
<asp:SqlDataSource ID="SqlDataSourceDetailView" runat="server"
ConnectionString="<%$ ConnectionStrings:voli_specialiConnectionString %>"
DeleteCommand="DELETE FROM [arrivi] WHERE [cod_volo] = @cod_volo"
InsertCommand="INSERT INTO [arrivi] ([cod], [da], [ora_arrivo], [nazionale], [internazionale], [note], [data_inserimento]) VALUES (@cod, @da, @ora_arrivo, @nazionale, @internazionale, @note, @data_inserimento)"
SelectCommand="SELECT * FROM [arrivi] ORDER BY [data_inserimento] DESC"
UpdateCommand="UPDATE [arrivi] SET [da] = @da, [ora_arrivo] = @ora_arrivo, [nazionale] = @nazionale, [internazionale] = @internazionale, [note] = @note, [data_inserimento] = @data_inserimento WHERE [cod_volo] = @cod_volo">
<DeleteParameters>
<asp:Parameter Name="cod_volo" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="da" Type="String" />
<asp:Parameter Name="ora_arrivo" Type="String" />
<asp:Parameter Name="nazionale" Type="Boolean" />
<asp:Parameter Name="internazionale" Type="Boolean" />
<asp:Parameter Name="note" Type="String" />
<asp:Parameter Name="data_inserimento" Type="DateTime" />
<asp:Parameter Name="cod_volo" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="cod_volo" Type="String" />
<asp:Parameter Name="da" Type="String" />
<asp:Parameter Name="ora_arrivo" Type="String" />
<asp:Parameter Name="nazionale" Type="Boolean" />
<asp:Parameter Name="internazionale" Type="Boolean" />
<asp:Parameter Name="note" Type="String" />
<asp:Parameter Name="data_inserimento" Type="DateTime" />
</InsertParameters>
</asp:SqlDataSource>
come devo modificare la InsertCommand??
nuovoUtente86
10-02-2010, 15:27
devi sostituire al parametro data inserimento la funzione GETDATE(), che restituisce data e ora corrente.
slacky82
10-02-2010, 15:36
devi sostituire al parametro data inserimento la funzione GETDATE(), che restituisce data e ora corrente.
grazie 1000 mi hai salvato la vita:D
una cosa non mi è chiara se volessi prendere alcuni dati dal DetailsView1 e alcuni da una text box, o una funzione vb.net come dovrei fare??
nuovoUtente86
10-02-2010, 16:46
nel box di costruzione della query è presente l' elenco dei controlli cui poter attingere i dati, mentre per le funzioni puoi utilizzare il metodo addParameter, utilizzando di fatto una query parametrica.
Per quanto riguarda ancora la data, ricorda che se utilizzata come oggetto di confronto esegue lo stesso sia sul campo data che ora (minuti e secondi compresi), quindi va poi eventualmente castizzata a dovere.
slacky82
10-02-2010, 17:30
nel box di costruzione della query è presente l' elenco dei controlli cui poter attingere i dati, mentre per le funzioni puoi utilizzare il metodo addParameter, utilizzando di fatto una query parametrica.
Per quanto riguarda ancora la data, ricorda che se utilizzata come oggetto di confronto esegue lo stesso sia sul campo data che ora (minuti e secondi compresi), quindi va poi eventualmente castizzata a dovere.
potresti essere più chiaro non ho capito cosa intendi per box di costruzione della query.
Come faccio a creare la query con il risultato di una funzione vb.net?
nuovoUtente86
10-02-2010, 19:46
http://forum.html.it/forum/showthread.php?threadid=1127087
qui ne va un esempio. In questo caso setta il "Value" con un valore statico, manulla ti vieta di fartelo restituire da una funzione.
slacky82
11-02-2010, 15:07
http://forum.html.it/forum/showthread.php?threadid=1127087
qui ne va un esempio. In questo caso setta il "Value" con un valore statico, manulla ti vieta di fartelo restituire da una funzione.
una cosa non mi è chiara, mettiamo che io volessi fare una query che data una settimana mi restituisce tutti i record inseriti in quella settimana tipo:
restituiscimi tutti i pagamenti inseriti nella settimana che va dal 3/11/2009 al 11/11/2009 in questo caso cosa dovrei usare una query parametrica in vb.net o una stored procedure???
nuovoUtente86
11-02-2010, 15:44
ottieni lo stesso risultato usando una delle 2 soluzioni.
slacky82
11-02-2010, 16:02
ottieni lo stesso risultato usando una delle 2 soluzioni.
so che ti sto chiedendo troppo ma sono in attesa di trovare un buon libro che tratti di queste cose (colgo l'occasione per chiederti se hai qualche titolo da consigliarmi) non potresti farmi un esempio della query del post precedente con una stored procedure e una con vb? :rolleyes: :rolleyes: :rolleyes:
grazie in anticipo
nuovoUtente86
11-02-2010, 16:12
http://database.html.it/guide/lezione/3401/creazione-di-una-stored-procedure/
ci sono delle stored di esempio.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.