inserimento data in sql server 2008R2

ciao!

sto uscendo matto ad inserire in sql server 2008 R2 un campo data.
Ho il mio valore in una variabile cosi ottenuta:

dim datainvio as new date

e questo il codice che uso per la insert

      // registriamo nel log l'invio
      dim i as integer
      dim datainvio as new date
      For i = 0 to LstComunicazioni.LastIndex
        // recuperiamo il progressivo
        dim newprog as string
        dim maxprog as integer
        maxprog=0
        stringaSQL="SELECT PROGCOMUN FROM LOG_COMU order by PROGCOMUN"
        ps = db.Prepare(stringaSQL)
        rs=ps.SQLSelect
        if rs <> Nil Then
          While Not rs.EOF
            maxprog=rs.IdxField(1).IntegerValue
            rs.MoveNext
          Wend
          rs.Close
        End If
        maxprog=maxprog+1
        newprog="0000000000"+str(maxprog)
        newprog=newprog.Right(10)
        // procediamo all'inserimento
        stringaSQL="insert into LOG_COMU (PROGCOMUN,DATACOMUN,CODCOMUN,TIPCOMUN,TESCOMUN,COSTUDE,TIPSTUDE,COGSTUDE,"_
        +"NOMSTUDE,CODANNSC,CODSCUOL,CODLOTTO,CLASTUDE,SEZSTUDE,COGGENI1,NOMGENI1,CELGENI1,EMAGENI1,"_
        +"COGGENI2,NOMGENI2,CELGENI2,EMAGENI2) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
        
        ps.BindType(0, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(1, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_DATE)
        ps.BindType(2, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(3, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(4, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(5, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(6, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(7, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(8, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(9, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(10, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(11, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(12, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(13, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(14, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(15, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(16, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(17, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(18, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(19, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(20, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.BindType(21, MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING)
        ps.Bind(0, newprog)
        ps.Bind(1, datainvio)
        ps.Bind(2, Comunicazioni.SpTipCom.Text)
        ps.Bind(3, TipCom)
        ps.Bind(4, testocom)
        ps.Bind(5, LstComunicazioni.Cell(i,1).Trim)
        ps.Bind(6, "S")
        ps.Bind(7, LstComunicazioni.Cell(i,2).Trim)
        ps.Bind(8, LstComunicazioni.Cell(i,3).Trim)
        ps.Bind(9, Login_Page.SpAnnoSco.Text)
        ps.Bind(10, LstComunicazioni.Cell(i,15).Trim)
        ps.Bind(11, "codlotto")
        ps.Bind(12, LstComunicazioni.Cell(i,6).Trim)
        ps.Bind(13, LstComunicazioni.Cell(i,7).Trim)
        ps.Bind(14, "coggeni1")
        ps.Bind(15, "nomgeni1")
        ps.Bind(16, LstComunicazioni.Cell(i,8).Trim)
        ps.Bind(17, LstComunicazioni.Cell(i,9).Trim)
        ps.Bind(18, "coggeni2")
        ps.Bind(19, "nomgeni2")
        ps.Bind(20, LstComunicazioni.Cell(i,10).Trim)
        ps.Bind(21, LstComunicazioni.Cell(i,11).Trim)
        
        ps = db.Prepare(stringaSQL)
        msgbox(stringaSQL)
        break
        ps.SQLExecute

sicuramente la insert fallisce alla data, credo vada cambiato il formato ma non so in che modo, ho provato i vari sqldate, ecc…

potete darmi un aiutino???
grz

Il campo DATACOMUN come definito nella tabella?

DATACOMUN(datetime,null)

temo sia l’orario il problema…non dovrebbe mettere 00:00:00 di default se non specificato?

No, hai scritto MSSQLSERVER_TYPE_DATE. Potresti provare MSSQLSERVER_TYPE_TIMESTAMP (anche se incorretto teoricamente) o puoi anche scrivere MSSQLServerPreparedStatement.MSSQLSERVER_TYPE_STRING e usare datainvio.sqlDateTime che va bene lo stesso