date è una parola riservata in SQL, probabilmente il problema è quello, evita di chiamare i campi delle tabelle con parole riservate.