2009-07-29 8 views
0

Si je n'ai pas placé de date dans la zone de texte, le système capture le 1/1/1900 par défaut de Null.Comment puis-je m'en débarrasser.Date en SQL 2005, asp.net

cmd.CommandText = "Mise à jour FormMaster réglée BriefingDate = '" + TextBox7.Text + "'

où FormID =" & Val (AutoID.Text)

cmd.ExecuteNonQuery()

Merci

+0

S'il vous plaît montrer le code. –

Répondre

1

Je vous recommande de vérifier spécifiquement la valeur de TextBox7 avant et assigner à un var, donc si la date est correcte, affectez la valeur "'" + TextBox7.Text + "'" sinon juste assigner NULL.

cela conduirait à la déclaration étant TABLE SET DATE MISE À JOUR = NULL si nécessaire OU MISE À JOUR TABLE SET DATE = 'DATE' autre

2

1) S'il vous plaît utiliser la collection cmd.Parameters pour définir les valeurs des paramètres SQL.

2) Ecrire une ToDBNullableDate fonction (chaîne) qui convertit une chaîne en un DateTime et une chaîne vide DBNull

object ToDBNullableDate(string s) 
{ 
    if (string.IsNullOrEmpty(s)) 
     return DBNull.Value 
    return Convert.ToDateTime(s); 
}