Formato data e formato stringa

mercoledì 31 maggio 2006 - 00.04

Nicolaij Profilo | Newbie

Ho un form in cui l'utente è chiamato a mettere una data del tipo gg/mm/aaaa, data che poi verrà salvata su db MS sqlserver in un campo di tipo date di uguale formato.
Al momento dell'executennquery viene rilevato un errore sui tipi di dati discordi.
Come posso aggirare il problema?

Esiste inoltre un modo per fare un controllo sui dati inseriti dall'utente?

Scusate le domande un po' stupide ma sono alle prime armi...

Grazie a tutti e buona serata

micto27 Profilo | Senior Member

>Ho un form in cui l'utente è chiamato a mettere una data del
>tipo gg/mm/aaaa, data che poi verrà salvata su db MS sqlserver
>in un campo di tipo date di uguale formato.
>Al momento dell'executennquery viene rilevato un errore sui tipi
>di dati discordi.
>Come posso aggirare il problema?

ovviamente non so come hai scritto il CommandText dell'oggetto SqlCommand
utilizzato per effettuare l'INSERT o l'UPDATE sul database.
Ipotizzo che tu abbia utilizzato un SqlCommand senza parametri e con il commandtext ottenuto
concatenando parti fisse "UPDATE miatabella set Data = " e parti variabili (i dati digitati sul form).
Io ti consigierei di usare invece dei command con parametri in quanto, oltre a risultare
molto più leggibili permettono anche di evitare problemi di tipizzazione come quello che
hai descritto.

Ne risulterebbe qualcosa del genere:

dim mioCommand as new SqlCommand

mioCommand.CommandText = "UPDATE miatabella SET Data1 = @data1 WHERE chiave = @id"

mioCommand.Parameters.Add("@data1", SqlDbType.DateTime).Value = CDate(Me.txtData1.text)
mioCommand.Parameters.Add("@id", SqlDbType.Int).Value = Cint(Me.txtID.text)

mioCommand.Connection = ....
mioCommand.ExecuteNonQuery

>
>Esiste inoltre un modo per fare un controllo sui dati inseriti
>dall'utente?
>

i validatori: ce ne sono di più tipi
verifica obbligatorietà di un certo campo
verifica conformità nei confronti di una regular expression
verifica range di valori
+ un tipo custom per sviluppare controlli più specifici.

Ciao, Michele

bluland Profilo | Guru

inoltre potresti dare all'utente la possibilita' di inserire la data scegliendola da un calendario date cosi si e' piu' sicuri sull'inserimento....

saluti
ENzo

Nicolaij Profilo | Newbie

Grazie gentilissimi, provo subito ^^
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