Oppure

Loading
05/10/17 14:40
wuolfit
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 :

char[] MyChar = { '/' };
string Data1 = Data.Text.TrimStart(MyChar1);
int numData = Convert.ToInt32(Data1);
string connection = "User ID=utente;Password=password;";
connection += "database=Database;server=Server;";
SqlConnection conn1 = new SqlConnection(connection);
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
conn1.Open();
cmd.Parameters.Add("@Genere", SqlDbType.Int).Value = ddListGenere.DataValueField;
cmd.Parameters.Add("@Autore",SqlDbType.Int).Value = ddListAutore.DataValueField;
cmd.Parameters.Add("@Titolo",SqlDbType.SmallInt).Value = ddListTitolo.DataValueField;
cmd.Parameters.Add("@Data",SqlDbType.DateTime).Value = numData;
reader = cmd.ExecuteReader();

conn1.Close(); //Chiude la connessione.


Dove sta l'errore ???? Potete aiutarmi per favore????
aaa
05/10/17 14:55
Thejuster

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


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







mire.forumfree.it/ - Mire Engine
C# UI Designer
05/10/17 16:25
nessuno
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à.