Newsgroup: it.comp.www.asp
Titolo: Inserimento date in .mdb da ASP

Innanzitutto grazie mille x le pronte risposte che mi date!
Volevo porre alla Vostra attenzione un altro mio problema...
var oggi = new Date();
var dataprenotazione = oggi.getDate() + "/" + (oggi.getMonth()) + "/" +
oggi.getYear();
come mai inserendo nel database la variabile dataprenotazione mi compaiono
date tipo 30/12/1899 invece della data di oggi? potrebbe essere un problema
di zeri?
Grazie mille!

 
Non conosco jscript.
Ma getDate ritorna il giorno o la data corrente intera? Verrebbe da 
pensare qualcosa come oggi.getDay...
E poi, in access è meglio se metti le date in formato MM/GG/AAAA, 
oppure (io mi trovo bene così) AAAA/MM/GG

> oppure (io mi trovo bene così) AAAA/MM/GG
anche senza "/"
mettendo un campo di 8 caratteri di testo.....

 mettendo un campo di 8 caratteri di testo.....
In SQLserver, sì... in access2000, ch'io sappia, non si può.


Io quando mi trovo davanti a questi "dubbi esistenziali" preparo un semplice
esempio chiarificatore :-)
Ho definito in Access 2000 la tabella Annunci con la seguente struttura:
   Annunci
   ----------
PK AnnuncioID (AutoNumber)
   Data (Date/Time)
Poi ho scritto il seguente.vbs:
<BOF>
Dim cn
Const CN_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Inetpub\wwwroot\db1.mdb"
Const adExecuteNoRecords = 128
On Error Resume Next
Set cn = CreateObject("ADODB.Connection")
cn.Open CN_STRING
' Formato #MM/DD/YYYY#
cn.Execute "INSERT INTO Annunci(Data) VALUES(#02/19/2004#)", ,
adExecuteNoRecords
If Err.Number = 0 Then
    MsgBox "Inserimento con il formato #MM/DD/YYYY# eseguito con successo",
vbInformation
Else
    MsgBox "Formato #MM/DD/YYYY# non valido:" & vbCrLf & "Error: " &
Err.Description & vbCrLf & "Code: " & Err.Number & vbCrLf & "Source: " &
Err.Source, vbExclamation
End If
' Formato 'YYYY/MM/DD'
cn.Execute "INSERT INTO Annunci(Data) VALUES('2004/02/19')", ,
adExecuteNoRecords
If Err.Number = 0 Then
    MsgBox "Inserimento con il formato 'YYYY/MM/DD' eseguito con successo",
vbInformation
Else
    MsgBox "Formato 'YYYY/MM/DD' non valido:" & vbCrLf & "Error: " &
Err.Description & vbCrLf & "Code: " & Err.Number & vbCrLf & "Source: " &
Err.Source, vbExclamation
End If
' Formato YYYYMMDD
cn.Execute "INSERT INTO Annunci(Data) VALUES(20040219)", ,
adExecuteNoRecords
If Err.Number = 0 Then
    MsgBox "Inserimento con il formato YYYYMMDD eseguito con successo",
vbInformation
Else
    MsgBox "Formato YYYYMMDD non valido:" & vbCrLf & "Error: " &
Err.Description & vbCrLf & "Code: " & Err.Number & vbCrLf & "Source: " &
Err.Source, vbExclamation
End If
' Formato 'YYYYMMDD'
cn.Execute "INSERT INTO Annunci(Data) VALUES('20040219')", ,
adExecuteNoRecords
If Err.Number = 0 Then
    MsgBox "Inserimento con il formato 'YYYYMMDD' eseguito con successo",
vbInformation
Else
    MsgBox "Formato 'YYYYMMDD' non valido:" & vbCrLf & "Error: " &
Err.Description & vbCrLf & "Code: " & Err.Number & vbCrLf & "Source: " &
Err.Source, vbExclamation
End If
' Formato #YYYYMMDD#
cn.Execute "INSERT INTO Annunci(Data) VALUES(#20040219#)", ,
adExecuteNoRecords
If Err.Number = 0 Then
    MsgBox "Inserimento con il formato #YYYYMMDD# eseguito con successo",
vbInformation
Else
    MsgBox "Formato #YYYYMMDD# non valido:" & vbCrLf & "Error: " &
Err.Description & vbCrLf & "Code: " & Err.Number & vbCrLf & "Source: " &
Err.Source, vbExclamation
End If
cn.Close
Set cn = Nothing
<EOF>
Gli unici formati validi risultano #MM/DD/YYYY# e 'YYYY/MM/DD'.
Ciao!
-- 
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://mvp.support.microsoft.com
http://italy.mvps.org

 di zeri?
Attenzione, devi mettere (1 + oggi.getMonth()) perchè ritorna da 0 a 11 e
non 1 - 12 come mese :)
Magari il problema è quello... e poi controlla che la data sul server sia
"corretta", non si sa mai... :D
Ciauz! :)
--
Virtual