Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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: 100
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????

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
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]+", "");









https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
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 ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote