Comment preparer un script qui fait le remplissage des données

Signaler
Messages postés
12
Date d'inscription
jeudi 11 décembre 2008
Statut
Membre
Dernière intervention
25 août 2011
-
Messages postés
12
Date d'inscription
jeudi 11 décembre 2008
Statut
Membre
Dernière intervention
25 août 2011
-
vb.net /// sql server/// 
bonjour;
je suis entrain de réaliser un projet en asp2008 et Sql Server 2005,le problème que j'ai c'est:
j'ai un champs "derniere Année de scolarité" dans une table de type datetime je veux changer le type de ce champs en integer pour garder seulement les années,donc comment je peux preparer un script qui recupere les données de ce champs et qui modifié le type de champs et ensuite le rempli par les années .

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

Bien que tu soies sur un forum dédié au VB, je trouve un peu sévère de changer ce type de champ alors qu'il y a des fonctions qui permette de filtrer l'année - en VB, la fonction Year(laDate) renvoie l'année d'une date.
Ce champ, sous forme de date, ne te rendra t-il pas servir un jour pour y stocker ... le dernier jour de scolarité ? on ne sait jamais, ça pourrait servir.

Pour modifier le type de ton champ, je te préconise deux choix :
- Manuel et, à mon avis plus rapide :[list][*] Tu crées un nouveau champ temporairement dans ta table avec le type Integer
[*] Tu vas dans l'éditeur SQL de ta table et tu tentes ce genre de SQL :
    Update maTable
    Set Champ_Temporaire = Year(ChampDate)

[*] Une fois que c'est fait, tu détruis ta colonne/champ au format Date et tu renommes le champ temporaire avec le nom de l'ancien champ/list
- Script :
Il va falloir :[list][*] Créer une nouvelle table avec les mêmes noms de champ, sauf celui que tu veux modifier
[*] Créer un script lisant chaque donnée de l'ancienne table, appliquant la fonction Year sur ton champ Date, puis réécrire le tout dans la nouvelle table
[*] Supprimer l'ancienne table (ou la renommer)
[*] Renommer la nouvelle table sous le nom de l'ancienne./listPour cette dernière tâche automatisée, tu peux aussi appliquer la méthode manuelle avec AlterDatabase sous SQL (me souviens plus de l'orthographe exacte de cette commande)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
12
Date d'inscription
jeudi 11 décembre 2008
Statut
Membre
Dernière intervention
25 août 2011

Merçi bcp j'ai appliqué cette methode et elle marche très bien
merçi encore