Mini dictionnaire utilisant bdd sql + clr-udf

Description

L'application en elle-même est un petit dictionnaire sans prétention que l'on peut remplir / vider depuis l'application. Il accepte des mots de 3 à 7 lettres (au départ c'était pour un jeu qui se limite à des mots de 3 à 7 lettres ^^).
La source est plus intéressante : facilement remaniable, personnalisable, on peut faire de ce mini dico un gestionnaire de contacts, de stocks, de dates de concerts (ce que je fais pour mon stage ^^) en maximum 4 ou 5 heures pour peu qu'on sache déjà se servir d'outils plus évolués fournis avec VS 2005 : DataSet & DataTableAdapter. Sinon il faut compter le temps d'apprendre à manier ces outils ^^
Dans cette petite source j'utilise à la place une classe perso car ça ne m'a pas pris beaucoup de temps à coder. Mais vous verrez que la distinction Application/DataAccess/DataProcessing est très importante dans de plus gros projets où la visibilité du code est cruciale lorsque vous voulez ajouter de nouvelles fonctionnalités ou corriger un bug. Les DataSets et DataTableAdapters sont donc à préférer dans de plus grosses applications.

Attention j'utilise SQL Server 2005 ! Je décris la procédure pour créer et utiliser la BDD sous SQL Server 2005, pour les autres DbEngines, reportez-vous à leur doc !
Pour ce qui est de SQL Server 2005 Express j'ai tout de même inséré une ConnectionString dans mes commentaires.

C'est la première source que je poste ici donc soyez indulgents ;)
Mais n'hésitez pas à poster vos remarques sur la source (bugs, améliorations, personnalisations, optimisations...) ou sur ma façon de commenter (une explication vous est restée en travers de la gorge ? vous avez mal saisi un concept ou une notion ?) et puis ben, si vous avez des questions spécifiques auxquelles je puisse répondre, n'hésitez pas...

Bonne lecture et bonne prog !

Conclusion :


Pour ce qui est de la base de données que j'utilise : LynDicoBis.mdf
J'ai décrit un peu dans ma source comment faire, mais voilà quand même la procédure :

SQL Server 2000 / 2005 : Lancer Management Studio, exécuter le script .sql fourni avec la source.
Une nouvelle BDD est créée : LynDicoBis avec 5 tables : [3Letters], [4Letters], [5Letters], [6Letters], [7Letters], chacune contenant une colonne : Words (NVarChar(i)) avec i le chiffre du nom de la table (ex : NVarChar(4) pour [4Letters]).
Si le script ne crée pas la BDD : créez-la en suivant les caractéristiques ci-dessus puis exécutez "USE [LynDicoBis]" puis les INSERT statements du script pour remplir la BDD

Que vous ayez créé vous-même la BDD ou que le script l'ait fait, il faut fermer les connexions qui se sont ouvertes vers la BDD pour que SQL Server puisse l'"attacher".
Fermez donc Management Studio.

Ouvrez maintenant la solution LynDico.sln avec VS : Pour les deux projets, connectez la base de données nouvellement créée. (C'est particulièrement important pour le projet "Database")
Remplacez la ConnectionString dans FrmMain_Load par la nouvelle ConnectionString que VS a créée (avec vos informations de connexion)
Vous pouvez également effectuer cette dernière tâche à la main si vous savez écrire des ConnectionStrings.

Dernière étape avant de pouvoir tester l'application : Une fois la connexion établie entre VS et la BDD pour le projet "Database", cliquez-droit sur celui-ci, puis "Build", recliquez-droit puis "Deploy". Normalement la UserDefinedFunction devrait être déployée dans la BDD. Si VS vous retourne une erreur, suivez les instructions de MSDN sur le déploiement d'une CLR-UDF.

Je compte poster une source plus complète lorsque j'aurais complètement fini mon logiciel de gestion, qui traitera plus en profondeur des objets Data du CLR.
Egalement peut être aussi une source sur l'objet Dictionary (j'ai hésité à l'utiliser dans ce petit programme car je n'avais que 2 procédures à utiliser appelées juste dans une fonction, donc un Select Case me suffisait) mais je n'ai trouvé qu'une seule source sur VbFrance.com en parlant, je trouve pourtant que c'est super recherché car tout le monde veut savoir comment appeler proprement une procédure par son nom passé en String......

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.