2009-11-23 15 views

Répondre

2

En blanc voulez-vous dire la date par défaut, ou le garder NUL?? Au lieu d'insérer une date vide dans SQl Server, ne pouvez-vous pas simplement définir une date par défaut dans la table SQL elle-même, afin qu'elle le fasse automatiquement si rien n'est passé à ce champ?

+0

Je dois transférer la date d'excel à la base de données et je voudrais insérer une valeur vide ou nulle dans la base de données si dans l'excel est vide – simone

4

Dans le composant de script, créez une nouvelle colonne de sortie - de type DATE. Cela l'exposera dans le modèle d'objet dans le script en tant qu'objet inscriptible - Il y aura un Row.COLUMNNAME pour la valeur et Row.COLUMNNAME_IsNull. Vraisemblablement votre colonne d'entrée arrive en tant que colonne de chaîne.

Ensuite dans le script, définissez Row.COLUMNNAME_IsNull = True lorsque les conditions appropriées sont réunies, par exemple (ce qui est le code de production, avec une colonne de chaîne preCOMPDATE provenant de la source, et une colonne de date COMPDATE dans la sortie):

If Row.preCOMPDATE_IsNull Then 
    ' In this example we only set it to NULL is the string is null - you might also do this for blanks or whatever else the string might contain 
    Row.COMPDATE_IsNull = True 
Else 
    ' This is a date cleansing routine defined elsewhere in the script - out of range dates are defaulted to 1/1/1900, among other things, logging errors and setting severities 
    Row.COMPDATE = ValidateDate("COMPDATE", _ 
           Row.preCOMPDATE, _ 
           startDate, _ 
           endDate, _ 
           New Date(1900, 1, 1), _ 
           ErrorDesc, _ 
           IsRegDtError) 
End If 
Questions connexes