[VB 2008] Impostare Now() per un campo DateTime in fase di inserimento...

martedì 08 dicembre 2009 - 22.16

alexmed Profilo | Guru

Ciao a tutti
In una pagina ASP che ho realizzato con Visual Web Developer 2008 Express Edition (in VB) ho inserito un ObjectDataSource dopodichè ho inserito un FormView a cui ho legato il DataSource.

Qui di seguito un pezzo del codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Il fatto è che in fase di inserimento vorrei sostituire la TextBox (DatePTextBox) con la data attuale quindi con Now() ma non riesco a capire come fare.
Mi illuminate gentilmente?

alexmed

alx_81 Profilo | Guru

>Ciao a tutti
ciao

>Il fatto è che in fase di inserimento vorrei sostituire la TextBox
>(DatePTextBox) con la data attuale quindi con Now() ma non riesco
>a capire come fare.
>Mi illuminate gentilmente?
Hai gestito l'evento ItemInserting?
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.formview.iteminserting.aspx


--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

alexmed Profilo | Guru

Ciao
Ho dato uno sguardo al link e se ho capito bene, quella spiegata, è una procedura per controllare che l'utente , in fase di inserimento abbia compilato tutti i campi necessari.
Io, invece, vorrei eliminare il campo in cui si dovrebbe inserire la data in quanto il valore che devo andare a scrivere è = Now().

Giusto per completezza di informazioni ti riporto il codice dell' ObjectDataSource:

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="PostManager" SelectMethod="GetPost" InsertMethod="AddPost" DeleteMethod="RemovePost" UpdateMethod="EditPost" > <InsertParameters> <asp:Parameter DefaultValue="<% Now() %>" Name="DateP" /> </InsertParameters> </asp:ObjectDataSource>

Il fatto "strano" è che mi dà errore sul parametro dicendomi:

Impossibile convertire il valore del parametro 'DateP' da 'System.String' a 'System.DateTime'.
Ho provato di tutto ma non ne vengo a capo.

alexmed

alx_81 Profilo | Guru

>Ciao
>Ho dato uno sguardo al link e se ho capito bene, quella spiegata,
>è una procedura per controllare che l'utente , in fase di inserimento
>abbia compilato tutti i campi necessari.
quello è l'evento da gestire se vuoi intervenire sui tuoi campi per cambiarli.
Puoi quindi ricavare il valore che stai per inserire per mettere al suo posto il tuo DateTime.Now.

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

alexmed Profilo | Guru

Ciao Alessandro,
non ci sono!!! Purtroppo non ho ancora capito bene la logica di ASP.NET
Sulla base di quello che mi hai detto ho scritto questo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

E fin qui tutto bene (fermo restando che io il controllo non vorrei farlo vedere all'utente).
Dopodichè se io vado a sostituire
entry.Value = "09/12/2009"
con
entry.Value = Now() (e qui mi sono sbizzarrito a mettere qualsiasi cosa come formato)
Ottengo il messaggio di errore di cui ai post precedenti
Eppure tutte le variabili, i Parametri ed i campi delle tabelle sono dichiarati come DateTime (ho anche fatto la prova a sostituire tutto con Date ma i risultati non cambiano).
Cosa devo fare?

Ciao

alexmed

alexmed Profilo | Guru

Ok, risolto

con:

Dim param1 As New Parameter("DateP", TypeCode.DateTime, DateTime.Now.ToString())
ObjectDataSource1.UpdateParameters.Add(param1)

Grazie.
alexmed

alexmed Profilo | Guru

Errata corrige:

ObjectDataSource1.InsertParameters.Add(param1)

Ciao

alexmed

alx_81 Profilo | Guru

>Errata corrige:
>
> ObjectDataSource1.InsertParameters.Add(param1)
>
>Ciao
ehehe.. ottimo, ho letto solo ora!

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5