Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Trasformare la data in una intero con Asp.Net c#
Forum - C# / VB.NET - Trasformare la data in una intero con Asp.Net c#

Avatar
wuolfit (Normal User)
Pro


Messaggi: 95
Iscritto: 19/07/2011

Segnala al moderatore
Postato alle 16:40
Giovedì, 05/10/2017
Salve,
la form scritta in Asp net e c#, di cui parlavo nel post precedente mi da un ulteriore problema....difatti in ques ta form ho messo anche una textbox per la data, ed ovviamente il valore della data è di tipo stringa, ed il formato è il seguente "21/10/2017". Ora io vorrei salvarlo nel mio database microsoft sql server nel formato int e non nell forma dd/mm/aaaa ma nella seguente forma aaaammdd però ogni volta che eseguo la forma mi dice che non può trasformare la data da stringa a int32 qui di seguito il codice che uso :

Codice sorgente - presumibilmente C#

  1. char[] MyChar = { '/' };
  2. string Data1 = Data.Text.TrimStart(MyChar1);
  3. int numData = Convert.ToInt32(Data1);
  4. string connection = "User ID=utente;Password=password;";
  5. connection += "database=Database;server=Server;";
  6. SqlConnection conn1 = new SqlConnection(connection);
  7. SqlCommand cmd = new SqlCommand();
  8. SqlDataReader reader;
  9. conn1.Open();
  10. cmd.Parameters.Add("@Genere", SqlDbType.Int).Value = ddListGenere.DataValueField;
  11. cmd.Parameters.Add("@Autore",SqlDbType.Int).Value = ddListAutore.DataValueField;
  12. cmd.Parameters.Add("@Titolo",SqlDbType.SmallInt).Value = ddListTitolo.DataValueField;
  13. cmd.Parameters.Add("@Data",SqlDbType.DateTime).Value = numData;
  14. reader = cmd.ExecuteReader();
  15.  
  16. conn1.Close(); //Chiude la connessione.



Dove sta l'errore ???? Potete aiutarmi per favore????


WuOlFiT
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1693
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 16:55
Giovedì, 05/10/2017

Ma, perché devi applicare un campo di tipo intero ad un dato formato string?
un varchar va benissimo per salvare la data. Anzi credo che sia completamente inutile
dividere giorno mese anno anche perché potresti inciampare a dei problemi qual'ora cerchi di riconvertire la data

se hai esempio  1102017  non è uguale a 20102017 hai un numero in più.

questo è un mio consiglio, poi ovviamente non conoscendo il tuo progetto non saprei valutare
questa tua necessità.

Altrimenti potresti semplicemente usare

Codice sorgente - presumibilmente C# / VB.NET

  1. string valore = Regex.Replace(Data1, "[^0-9a-zA-Z]+", "");









PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5447
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:25
Giovedì, 05/10/2017
Ma perché mai tutto ciò??

Sql Server prevede un apposito tipo DateTime e tanto altro ...

È consigliabile studiare le basi prima dimettere mani a tastiera e codice...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote