Campo data/ora in MSDE

giovedì 05 maggio 2005 - 10.09

zuperbatman Profilo | Newbie

Una domanda...., ho costruito un database e in una tabella ho un campo data e ora tipo 05/05/2005 12.00.01 ora per la memorizzazione della data nel database così come scritta devo usare due campi uno per la data e uno per l'ora o si può usare un solo campo? Ho provato ad usare un solo campo ma mi da errore.....!


Grazie

trinity Profilo | Guru

In msde trovi due tipi di campi: lo SMALLDATETIME che ti permette di regeistrare data ed ora e minuti e il DATETIME che ti permette di registrare tutto, anche secondi e centesimi di secondo..dipende da te....

Ciao
Fabio

zuperbatman Profilo | Newbie

Sai perchè lo chiedo...., perchè da una pagina asp con casella di testo daopo aver inserito la data, non mi permette di modificarla, nel senso che mi genera un errore (cast non valido nel passaggio 12/03/05 12.30.49 a integer) e non riesco a capire il motivo.

trinity Profilo | Guru

Ma te utilizzi i parameters?
Vedi se nel database il campo è in formato Integer

Ciao
Fabio

zuperbatman Profilo | Newbie

Si utilizzo i parametri...il campo nel database è datatime come anche da te indicatomi. Devo parametrizzare qualcosa?

trinity Profilo | Guru

Se te hai un campo di tipo DATETIME nel db, ovviamente nel parameters devi passargli una valore formattato correttamente in DATETIME ti faccio un esempio:

SqlCommand.Parameters.Add("nome_parametro", SqlDbType.DateTime).Value = Me.TextBox1.Text

Ciao
Fabio

zuperbatman Profilo | Newbie

Ciao, ho fatto come mi hai indicato tu è funziona perfettamente....., grazie. Sbagliavo nell'attribuzione del tipo, io scrivevo dbtype.datetime invece di sqldbtype.datetime......! Grazie tante....
P.S. Un ultima cosa ma devo usare lo stesso metodo anche per parametri di tipo testo, integer ed altro?


Grazie

trinity Profilo | Guru

Certamente, devi sempre passare il formato corretto del campo del db

Ciao
Fabio

zuperbatman Profilo | Newbie

Ciao, scusa se continuo...., ma ho fatto tutto come mi hai suggerito tu..., ma ha distanza di circa 3 giorni mi succede una cosa strana e mi spiego. Ho scritto in asp.net dei campi textbox dai quali poi prelevo dei dati e poi li invio al database, come sotto riportato, ma da ciò scaturisce un errore con un campo che ho formattato come datatime. "Failed to convert parameter value from a String to a DateTime" .
il codice sotto il pulsante è il seguente:
dim cn as new sqlclient.sqlconnection(Stringadiconnessione)
dim sql as string="INSERT INTO manutenzione (odl, DataInizioIntervento, lavorosvolto, lavorosospeso,
DataFineIntervento, DataChiusuraODL, ecc.) Values (@odl, @DataInizioIntervento, @lavorosvolto, @lavorosospeso, @DataFineIntervento, @DataChiusuraODL, ecc.)
dim cmd as new sqlclient.sqlcommand(sql,cn)
cmd.parameters.add("@odl", sqldbtype.int).value=txtodl.text
cmd.parameters.add("@DataInizioIntervento", sqldbtype.datetime).value=txtdatainizio.text
cmd.parameters.add("@lavorosvolto", sqldbtype.text).value=txtlavoro.text
cmd.parameters.add("@lavorosospeso", sqldbtype.text).value=txtlavorosopeso.text
cmd.parameters.add("@DataFineIntervento", sqldbtype.datetime).value=txtdatafine.text
cmd.parameters.add("@DataChiusuraODL", sqldbtype.datatime).value=txtdatachiusura.text
cmd.executinonquery()
cn.close.


Ora il mio problema è che l'errore di cui sopra me lo genera solo con il campo DataFineIntervento, perchè ho provato ad eliminarlo e l'inserimento avviene corretto, ho provato anche ad inserire in quel campo direttamente in tabellea i dati e non genera nessun errore....!Mi puoi aiutare tu. Grazie



trinity Profilo | Guru

ma sei sicuro che il campo DataFineIntervento nel database sia di tipo DateTime e non per esempio di tipo SmallDateTime? Hai controllato bene e poi la data nella textbox di riferimento come gliela passi, fammi vedere?

Ciao

zuperbatman Profilo | Newbie

Si ho controllato bene il campo è corretto! La data la scrivo così 12/05/05 12.00.00, ma ho provato in tutti i formati....! Il bello è che agli altri campi come la scrivo scrivo la prende li fa sempre errore anche se lascio il campo null.....:!

trinity Profilo | Guru

Se te dici che i campi come formato sono giusti e nel parameters gli passi valori corretti, l'unico modo sarebbe di avere sotto mano database e pagina aspx in cui vi è scritto il codice, in modo tale da eseguire delle prove.

Ciao
fabio

zuperbatman Profilo | Newbie

E dimmi dove mandarlo sono circa 10mb.........!Te lo mando.....!

trinity Profilo | Guru

Prova a zipparlo o ad inviarmelo in un sezioni diverse sulla casella email: fabio@wondernet.biz

zuperbatman Profilo | Newbie

Ti ho mandato il tutto all'indirezzo da te segnalato........se c'è qualche dubbio ci mettiamo in contatto...! Non da parte tua per intenderci su come ho fatto le pagine..... :-)
Grazie

trinity Profilo | Guru

Purtroppo ci sono due problemi, primo non utilizzo vb net per fare le pagine web ma dreamweaver con asp.net ma il problema + rognoso e che in sql sever non basta fare un copia ed incolla del db ma devi crearmi una esportazione in sql di tutto il db con le relative dipendenze...se riesci a fare questa esportazione rimandami solo il file.sql che ti si genererà e csì controllerò il db

Ciao

zuperbatman Profilo | Newbie

Forse ho trovato il difetto....., io da una serei di textbos....inoltravo dei campi anche vuoti tipo numeri float e campi datetime......, ho notato che nel lancio della query ....il sistema si incazzava. Così ho risolto non so se giustamente inserendo uno zero nei campi float e nei campi datetime che non uso.....!

zuperbatman Profilo | Newbie

Un'ultima cosa....., mi indichi come si fa la copia di backup.....! Esiste una procedura semplice...non l'ho mai fatta...? Io praticamepte metto in stop il servere e faccio una copia brutale della cartella data..... :-) Grazie

trinity Profilo | Guru

Vai su questo sito internet e scarica gratuitamente questo tool per gestire msde e qui potrai fare il file di backup e restore...

http://www.asql.biz/DbaMgr.shtm

si chiama dbamsgr

Ciao
Fabio
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