Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Conversione date
martedì 09 novembre 2010 - 15.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
mar 9 nov 2010 - 15:38
Durante l'esecuzione di una insert di un record in un database sqlserver mi segnala questo errore:
conversion failed after converting date and/or time from character string.
Questo errore mi viene segnalato utilizzando la procedura sul server web che ha una versione di sqlserver 2008 in inglese.
Nella versione locale dove sql server è in italiano il programma funziona correttamente.
i campi che utilizzo come data sono tre definiti come "date" e sul server si presentano aaaa-mm-gg (come in locale).
I campi del form sono due date (gg/mm/aaaa) definite come text ed uno SelectedDate.ToShortDateString.
La insert è la seguente
"insert into notifiche_01(not_comunicazione, not_opera, not_indirizzo, not_localita, not_committente, not_comm_cf, not_responsabile, not_resp_cf, not_coord1, not_cor1_cf, not_inizio, not_fine, not_impresa, not_impr_cf, not_comune, not_importo)" & _
"values ('" & comunica.SelectedDate.ToShortDateString & "', '" & ubicazione.Text & "', '" & indirizzo.Text & "', '" & comune.SelectedValue & "', '" & committente.Text & "', '" & comm_cf.Text & "', '" & responsabile.Text & "', '" & resp_cf.Text & "', '" & coordinatore.Text & "', '" & coord_cf.Text & "', '" & dataini.Text & "', '" & datafin.Text & "', '" & impresa.SelectedValue & "', '" & partitaiva.Text & "', '" & comunesede.Text & "', '" & CInt(importo.Text) & "')"
Ho grossi dubbi sulla corretta formattazione dei campi ed immagino che l'errore stia nella diversa versione (con il db in italiano funziona), ma non conosco le istruzioni per poter convertire il tutto.
Grazie, Maurizio
paoval72
Profilo
| Senior Member
297
messaggi | Data Invio:
mar 9 nov 2010 - 16:20
Ciao, purtroppo le date in Sql sono sempre "brutte bestie".
Puoi provare così:
comunica.SelectedDate.ToString("yyyy/MM/dd")
Dimmi se funziona.
Ciao,
PV
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
gio 11 nov 2010 - 09:59
Ho provato con la modifica che mi hai inviato ma nessun risultato...
Grazie, Maurizio
paoval72
Profilo
| Senior Member
297
messaggi | Data Invio:
gio 11 nov 2010 - 10:56
Scusa, avevo dimenticato la formattazione del separatore!
In SQL vuole il trattino. Prova come prima, ma col trattino :
comunica.SelectedDate.ToString("yyyy-MM-dd")
PV
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
gio 11 nov 2010 - 13:11
ho provato, ma anche con i trattini non c'è niente da fare. Non vorrei che si trattasse delle altre due date quelle che inputo come campi text (peraltro controllate nella digitazione gg/mm/aaaa). La cosa strana è che sul database sul server le date dei record esistenti (trasferiti dal locale) sono corrette yyyy-mm-dd ma, come dicevo, nella versione inglese presente sul server remoto non funziona mentre in locale funziona tranquillamente.
Cmq ora il codice si presenta in questo modo ora:
If operazione.Text = "INSERIMENTO" Then
strsql = "insert into notifiche_01(not_comunicazione, not_opera, not_indirizzo, not_localita, not_committente, not_comm_cf, not_responsabile, not_resp_cf, not_coord1, not_cor1_cf, not_inizio, not_fine, not_impresa, not_impresa_noniscritta, not_impr_cf, not_comune, not_importo)" & _
"values ('" & comunica.SelectedDate.ToString("yyyy-MM-dd") & "', '" & ubicazione.Text & "', '" & indirizzo.Text & "', '" & comune.SelectedValue & "', '" & committente.Text & "', '" & comm_cf.Text & "', '" & responsabile.Text & "', '" & resp_cf.Text & "', '" & coordinatore.Text & "', '" & coord_cf.Text & "', '" & dataini.Text & "', '" & datafin.Text & "', '" & impresa.SelectedValue & "', '" & impresanoniscritta.Text & "', '" & partitaiva.Text & "', '" & comunesede.Text & "', '" & CInt(importo.Text) & "')"
strdiv = "RECORD INSERITO CORRETTAMENTE <br /><a href='PAGEINI2.aspx'>CLICCARE QUI PER TORNARE AL MENU</a>"
End If
...come dicevo non è possibile che il problema si presneti nelle date datafin e dataini ?
Sempre grazie, Maurizio
p.s. c'è un altro thread con un secondo problema....se hai voglia e tempo...
sankyu
Profilo
| Senior Member
266
messaggi | Data Invio:
mar 16 nov 2010 - 11:21
controlla la lingua di connessione dell'utente di sql server e risolvi il problema!! anche se hai sql server in inglese setta la lingua del database in italiano così se ti va in prova sul tuo pc con sql in italiano ti andrà anche in inglese
Oppure usa il formato universale di input
'yyyymmdd'
quindi non 'yyyy-MM-dd' ma 'yyyymmdd' quando fai il toString della variabile date
Consulente e Sviluppatore .net in ambito finanziario
Dai un occhio al mio blog potrebbe tornarti utile
http://dotnetmemo.blogspot.com
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
mar 16 nov 2010 - 12:52
funziona !!!! grazie
Torna su
Stanze Forum
Elenco Threads
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 !