QUICKSTART
|
|
|
|
Ce petit tutorial a pour objectif d'expliquer comment utiliser Denki-SQL.
|
|
Toute autre documentation étant pour le moment inexistante (beta oblige), ce tutorial
est la seule explication... Mais l'utilisation de Denki-SQL n'est
pas très compliquée...
|
|
Ce tutorial se divise en deux parties, mais la deuxième partie n'est pas obligatoire,
c'est juste pour aller un peu plus loin...
|
|
Pour commencer il faut bien entendu avoir un minimum de logiciels et de connaissances
voici la liste:
|
|
|
|
|
PRE-REQUIS
|
Avant de commencer, il est nécessaire d'avoir installer:
- Le Framework.NET 2 ou 3...
- Visual Studio 2005
- SQL Server 2000 ou 2005 (client+serveur)
- Denki-SQL
Et il est nécessaire de savoir:
- Créer une nouvelle base de données
- Avoir une expérience du language T-SQL
- Avoir une expérience d'un language .NET
- Pourquoi vous lisez tout ceci maintenant et pourquoi ;)
|
|
|
|
|
|
Ensuite, pour créer notre base exemple:
- Ouvrez votre manager SQL Server (client)
- Créer une nouvelle base de données nommée MyBookStore
- Exécutez-y ce script
(tables + relations + données)
|
|
Ce qui devrait nous donner un schéma comme ceci :
|
|
|
|
|
|
|
Je suis désolé pour la piètre qualité de ma base exemple, je ferai mieux plus tard
;)
|
|
|
|
Prêt ? choisissez le "CASE STUDY 1" pour commencer.
|
|
|
|
|
CASE STUDY 1
|
- Création d'un nouveau scénario "Denki"
- Sauvegarde d'un scénario "Denki"
- Génération "Denki", et application des codes
- "Simple SELECT"
- "Simple INSERT"
- "Simple UPDATE"
- "Simple DELETE"
|
|
Estimation: 10 min.
|
|
|
|
Go
|
|
|
|
|
|
CASE STUDY 2
|
- Ouverture d'un scénario "Denki" existant
- Ajout d'une ascendance et d'un filtre
- Génération "Denki", et application des codes
- "SELECT imbriqué"
- "UPDATE imbriqué"
- "DELETE imbriqué"
- "SELECT étendu"
|
|
Estimation: 10 min.
|
|
|
|
Go
|
|
|
|
|
|
|
|
|
CASE STUDY 1
|
|
|
|
1) Création d'un nouveau scénario "Denki" |
- Démarrer Denki-SQL.
- Dans le menu fichier "Fichier", choisissez "Nouveau".
- Paramétrez votre connexion SQL et cliquez sur "Se connecter".
- Dans la liste des catalogues disponibles choisissez "MyBookStore" et cliquez
sur "Analyser".
- Cliquez sur "OK" pour valider.
|
|
|
|
2) Sauvegarde d'un scénario "Denki" |
|
Une des particularités de "Denki" est que vous pouvez sauvegarder votre scénario
(au format XML), pour pouvoir le modifier plus tard...
|
- Dans le menu fichier "Fichier", choisissez "Enregistrer sous".
- Choisissez votre emplacement, votre nom de fichier, puis cliquez sur "Enregistrer".
|
|
|
|
3) Génération "Denki", et application des codes |
|
Maintenant nous allons sortir la baguette magique...
|
- Dans le menu fichier "Fichier", choisissez "Générer le code".
- Choisissez une destination et cliquez sur "Générer" (un sous-dossier sera
créer automatiquement).
|
- Dans le dossier "SQL" vous trouverez un script SQL, exécutez-le directement dans
votre base exemple (pour créer les procédures stockées).
- Dans le dossier "VB.NET" (ou "C#") vous trouvez un dossier contenant quelques fichiers
(un par table), gardez les en vue, nous allons les utiliser par la suite.
|
- Démarrez Visual Studio 2005 et créer un nouveau projet "Application Windows".
- Faites un "copier/coller" du dossier "MyDataClass" contenu dans le dossier
"VB.NET" ou ("C#") précédemment généré dans la racine de votre nouveau
projet.
- Agrandissez le formulaire (ref. "Form1.vb" ou "Form1.cs") et glissez-y un object
"DataGridView" et un object "button".
|
|
|
|
4) "Simple SELECT"
|
- Double-cliquez sur le bouton "button1" pour accrocher l'événement "click".
- Insérez ce code (remplacez le string connexion par le votre):
|
|
|
|
|
|
|
' Indiquez ici votre string de connexion.
Dim MyConnString As String
= "Initial Catalog=MyBookStore; Data Source={yourServerName};
Integrated Security=False; User ID={yourLogin}; Password={yourPassword}"
' Initialisation d'une nouvelle instance de notre classe de
sélection "Books"
Dim FdCls As New MyDataClass.Books.spS(MyConnString)
' On place un filtre pour chercher les livres à 12 euros
FdCls.Filters.book_price.Value = 12
' A la place de ce filtre on aurait pu mettre
' FdCls.Filters.book_price.IncludedFrom = 12
' pour choisir tous les livres supérieurs ou égales à douze
euros...
' On pourrait aussi combiner d'autre filtres d'autres filtres....
' On exécute le tout...sélection
FdCls.Execute()
' On ferme la connexion
FdCls.Disconnect()
' On applique le résultat dans notre DataGridView
DataGridView1.DataSource = FdCls.Results.Table
// Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
// Initialisation d'une nouvelle instance de notre classe de
sélection "Books"
MyDataClass.Books.spS
FdCls = new MyDataClass.Books.spS(MyConnString);
// On place un filtre pour chercher les livres à 12 euros
FdCls.Filters.book_price.Value = 12;
// A la place de ce filtre on aurait pu mettre
// FdCls.Filters.book_price.IncludedFrom = 12;
// pour choisir tous les livres supérieurs ou égales à douze
euros...
// On pourrait aussi combiner et mettre d'autres filtres sur
d'autres colonnes...
// On exécute le tout...sélection
FdCls.Execute();
// On ferme la connexion
FdCls.Disconnect();
// On applique le résultat dans notre DataGridView
DataGridView1.DataSource = FdCls.Results.Table;
|
|
|
- Générez votre application.
- Cliquez sur le bouton.
- Si tout se passe bien, votre datagridview affiche le seul livre à douze euros !
|
|
|
|
5) "Simple INSERT"
|
- Entrez dans votre projet Visual Studio
- Double-cliquez sur le bouton "button1" pour accrocher l'événement "click".
- Remplacez le code existant par celui-ci:
|
|
|
|
|
|
|
' Indiquez ici votre string de connexion.
Dim MyConnString As String
= "Initial Catalog=MyBookStore; Data Source={yourServerName};
Integrated Security=False; User ID={yourLogin}; Password={yourPassword}"
' Initialisation d'une nouvelle instance de notre classe d'insertion
"Books"
Dim FdCls As New MyDataClass.Books.spI(MyConnString)
' On prépare une nouvelle ligne
FdCls.Values.book_price.Value = 14
FdCls.Values.book_title.Value = "Mon Livre"
' On exécute le tout...insertion
FdCls.Execute()
' On ferme la connexion
FdCls.Disconnect()
// Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
// Initialisation d'une nouvelle instance de notre classe d'insertion
"Books"
MyDataClass.Books.spI
FdCls = new MyDataClass.Books.spI(MyConnString);
// On prépare une nouvelle ligne
FdCls.Values.book_price.Value = 14;
FdCls.Values.book_title.Value = "Mon Livre";
// On exécute le tout...insertion
FdCls.Execute();
// On ferme la connexion
FdCls.Disconnect();
|
|
|
- Générez votre application.
- Cliquez sur le bouton.
- Si tout se passe bien, vous venez d'insérer un nouveau livre nommé "Mon livre"
à 14 euros dans votre base !
|
|
|
|
6) "Simple UPDATE"
|
- Entrez dans votre projet Visual Studio
- Double-cliquez sur le bouton "button1" pour accrocher l'événement "click".
- Remplacez le code existant par celui-ci:
|
|
|
|
|
|
|
' Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
' Initialisation d'une nouvelle instance de notre classe de
mise à jour "Books"
Dim FdCls As New MyDataClass.Books.spU(MyConnString)
' On choisi un notre livre
FdCls.Filters.book_title.Value = "Mon Livre"
' On lui prépare une mise à jour à 15 euros
FdCls.Values.book_price.Value = 15
' On exécute le tout...mise à jour
FdCls.Execute()
' On ferme la connexion
FdCls.Disconnect()
// Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
// Initialisation d'une nouvelle instance de notre classe de
mise à jour "Books"
MyDataClass.Books.spU
FdCls = new MyDataClass.Books.spU(MyConnString);
// On choisi un notre livre
FdCls.Filters.book_title.Value = "Mon Livre";
// On lui prépare une mise à jour à 15 euros
FdCls.Values.book_price.Value = 15;
// On exécute le tout...mise à jour
FdCls.Execute();
// On ferme la connexion
FdCls.Disconnect();
|
|
|
- Générez votre application.
- Cliquez sur le bouton.
- Si tout se passe bien, vous venez de mettre à jour votre livre nommé "Mon livre"
de 14 à 15 euros !
|
|
|
|
7) "Simple DELETE"
|
- Entrez dans votre projet Visual Studio
- Double-cliquez sur le bouton "button1" pour accrocher l'événement "click".
- Remplacez le code existant par celui-ci:
|
|
|
|
|
|
|
' Indiquez ici votre string de connexion.
Dim MyConnString As String
= "Initial Catalog=MyBookStore; Data Source={yourServerName};
Integrated Security=False; User ID={yourLogin}; Password={yourPassword}"
' Initialisation d'une nouvelle instance de notre classe de
suppression "Books"
Dim FdCls As New MyDataClass.Books.spD(MyConnString)
' On choisi un notre livre
FdCls.Filters.book_title.Value = "Mon Livre"
' On exécute le tout...suppresion
FdCls.Execute()
' On ferme la connexion
FdCls.Disconnect()
// Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
// Initialisation d'une nouvelle instance de notre classe de
suppression "Books"
MyDataClass.Books.spD
FdCls = new MyDataClass.Books.spD(MyConnString);
// On choisi un notre livre
FdCls.Filters.book_title.Value = "Mon Livre";
// On exécute le tout...suppresion
FdCls.Execute();
// On ferme la connexion
FdCls.Disconnect();
|
|
|
- Générez votre application.
- Cliquez sur le bouton.
- Si tout se passe bien, vous venez de supprimer votre livre nommé "Mon livre"
|
|
|
CASE STUDY 2
|
|
|
|
1) Ouverture d'un scénario "Denki" existant |
- Démarrer Denki-SQL.
- Dans le menu "Fichier", choisissez "Ouvrir".
- Choisissez votre scenario précédemment sauvegardé (STUDY CASE 1) et cliquez sur
"Ouvrir".
|
|
|
|
2) Ajout d'une ascendance et d'un filtre |
- Ouvrez le nœud de la table "Books".
- Ouvrez le nœud enfant "Programmation".
- Effectuez un click droit sur le nœud "Ascendance" et sélectionnez "Ajouter
une ascendance".
- Assurez-vous que la contrainte "FK_Books_Authors" est sélectionnée (c'est
la seule table parente de l'example) puis cliquez sur "Créer".
- Ouvrez le nouveau nœud enfant "Authors".
- Ouvrez le nœud enfant "Programmation".
- Effectuez un click droit sur le nœud "Filtres" et sélectionnez "Ajouter
un filtre".
- Choisissez la colonne "author_name" et cliquez sur "Ajouter".
|
|
|
|
3) Génération "Denki", et application des codes |
|
Maintenant nous allons sortir la baguette magique...
|
- Dans le menu fichier "Fichier", choisissez "Générer le code".
- Choisissez une destination et cliquez sur "Générer" (un sous-dossier sera
créer automatiquement).
|
- Dans le dossier "SQL" vous trouverez un script SQL, exécutez-le directement dans
votre base exemple (pour créer les procédures stockées).
- Dans le dossier "VB.NET" (ou "C#") vous trouvez un dossier contenant quelques fichiers
(un par table), gardez les en vue, nous allons les utiliser par la suite.
|
- Démarrez Visual Studio 2005 et créer un nouveau projet "Application Windows".
- Faites un "copier/coller" du dossier "MyDataClass" contenu dans le dossier
"VB.NET" ou ("C#") précédemment généré dans la racine de votre nouveau
projet.
- Agrandissez le formulaire (ref. Form1.vb) et glissez-y un object "DataGridView"
et un object "button".
|
|
|
|
4) "SELECT imbriqué"
|
- Entrez dans votre projet Visual Studio
- Double-cliquez sur le bouton "button1" pour accrocher l'événement "click".
- Insérez ce code (remplacez le string connexion par le votre):
|
|
|
|
|
|
|
' Indiquez ici votre string de connexion.
Dim MyConnString As String
= "Initial Catalog=MyBookStore; Data Source={yourServerName};
Integrated Security=False; User ID={yourLogin}; Password={yourPassword}"
' Initialisation d'une nouvelle instance de notre classe de
sélection "Books"
Dim FdCls As New MyDataClass.Books.spS(MyConnString)
' On place un filtre pour chercher tous les livres dont l'auteur
est "Erwan Riso"
FdCls.Ascents.Authors.Filters.author_name.Value = "Erwan Riso"
' On pourrait aussi combiner d'autre filtres d'autres tables...
' On exécute le tout...sélection
FdCls.Execute()
' On ferme la connexion
FdCls.Disconnect()
' On applique le résultat dans notre DataGridView
DataGridView1.DataSource = FdCls.Results.Table
// Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
// Initialisation d'une nouvelle instance de notre classe de
sélection "Books"
MyDataClass.Books.spS
FdCls = new MyDataClass.Books.spS(MyConnString);
// On place un filtre pour chercher tous les livres dont l'auteur
est "Erwan Riso"
FdCls.Ascents.Authors.Filters.author_name.Value = "Erwan Riso";
// On pourrait aussi combiner d'autre filtres d'autres tables...
// On exécute le tout...sélection
FdCls.Execute();
// On ferme la connexion
FdCls.Disconnect();
// On applique le résultat dans notre DataGridView
DataGridView1.DataSource = FdCls.Results.Table;
|
|
|
- Générez votre application.
- Cliquez sur le bouton.
- Si tout se passe bien, votre datagridview affiche les livres de l'auteur demandé
!
|
|
|
|
7) "SELECT imbriqué & étendu"
|
- Entrez dans votre projet Visual Studio
- Double-cliquez sur le bouton "button1" pour accrocher l'événement "click".
- Insérez ce code (remplacez le string connexion par le votre):
|
|
|
|
|
|
|
' Indiquez ici votre string de connexion.
Dim MyConnString As String
= "Initial Catalog=MyBookStore; Data Source={yourServerName};
Integrated Security=False; User ID={yourLogin}; Password={yourPassword}"
' Initialisation d'une nouvelle instance de notre classe de
sélection "Books"
Dim FdCls As New MyDataClass.Books.spSE(MyConnString)
' On place un filtre pour chercher tous les livres dont l'auteur
est "Erwan Riso"
FdCls.Ascents.Authors.Filters.author_name.Value = "Erwan Riso"
' On pourrait aussi combiner d'autre filtres d'autres tables...
' On exécute le tout...sélection
FdCls.Execute()
' On ferme la connexion
FdCls.Disconnect()
' On applique le résultat dans notre DataGridView
DataGridView1.DataSource = FdCls.Results.Table
// Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
// Initialisation d'une nouvelle instance de notre classe de
sélection "Books"
MyDataClass.Books.spSE
FdCls = new MyDataClass.Books.spSE(MyConnString);
// On place un filtre pour chercher tous les livres dont l'auteur
est "Erwan Riso"
FdCls.Ascents.Authors.Filters.author_name.Value = "Erwan Riso";
// On pourrait aussi combiner d'autre filtres d'autres tables...
// On exécute le tout...sélection
FdCls.Execute();
// On ferme la connexion
FdCls.Disconnect();
// On applique le résultat dans notre DataGridView
DataGridView1.DataSource = FdCls.Results.Table;
|
|
|
- Générez votre application.
- Cliquez sur le bouton.
- Si tout se passe bien, votre datagridview affiche les livres de l'auteur complétés
des informations contenues dans les tables parentes !
|
|
|
|
5) "UPDATE imbriqué"
|
- Entrez dans votre projet Visual Studio
- Double-cliquez sur le bouton "button1" pour accrocher l'événement "click".
- Remplacez le code existant par celui-ci:
|
|
|
|
|
|
|
' Indiquez ici votre string de connexion.
Dim MyConnString As String
= "Initial Catalog=MyBookStore; Data Source={yourServerName};
Integrated Security=False; User ID={yourLogin}; Password={yourPassword}"
' Initialisation d'une nouvelle instance de notre classe de
mise à jour "Books"
Dim FdCls As New MyDataClass.Books.spU(MyConnString)
' On choisi un auteur sur la table parente "Erwan Riso"
FdCls.Ascents.Authors.Filters.author_name.Value = "Erwan Riso"
' On va fixer le prix de tout ses livres à 16 euros
FdCls.Values.book_price.Value = 16
' On exécute le tout...mise à jour
FdCls.Execute()
' On ferme la connexion
FdCls.Disconnect()
// Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
// Initialisation d'une nouvelle instance de notre classe de
mise à jour "Books"
MyDataClass.Books.spU
FdCls = new MyDataClass.Books.spU(MyConnString);
// On choisi un auteur sur la table parente "Erwan Riso"
FdCls.Ascents.Authors.Filters.author_name.Value = "Erwan Riso";
// On va fixer le prix de tout ses livres à 16 euros
FdCls.Values.book_price.Value = 16;
// On exécute le tout...mise à jour
FdCls.Execute();
// On ferme la connexion
FdCls.Disconnect();
|
|
|
- Générez votre application.
- Cliquez sur le bouton.
- Si tout se passe bien, vous venez de mettre à jour tous les livres de l'auteur "Erwan
Riso" à 16 euros !
|
|
|
|
6) "DELETE imbriqué"
|
- Entrez dans votre projet Visual Studio
- Double-cliquez sur le bouton "button1" pour accrocher l'événement "click".
- Remplacez le code existant par celui-ci:
|
|
|
|
|
|
|
' Indiquez ici votre string de connexion.
Dim MyConnString As String
= "Initial Catalog=MyBookStore; Data Source={yourServerName};
Integrated Security=False; User ID={yourLogin}; Password={yourPassword}"
' Initialisation d'une nouvelle instance de notre classe de
suppression "Books"
Dim FdCls As New MyDataClass.Books.spD(MyConnString)
' On choisi un auteur sur la table parente "Erwan Riso"
FdCls.Ascents.Authors.Filters.author_name.Value = "Erwan Riso"
' On exécute le tout...suppresion
FdCls.Execute()
' On ferme la connexion
FdCls.Disconnect()
// Indiquez ici votre string de connexion.
string MyConnString = "Initial Catalog=MyBookStore;
Data Source={yourServerName}; Integrated Security=False; User ID={yourLogin}; Password={yourPassword}";
// Initialisation d'une nouvelle instance de notre classe de
suppression "Books"
MyDataClass.Books.spD
FdCls = new MyDataClass.Books.spD(MyConnString);
// On choisi un auteur sur la table parente "Erwan Riso"
FdCls.Ascents.Authors.Filters.author_name.Value = "Erwan Riso";
// On exécute le tout...suppresion
FdCls.Execute();
// On ferme la connexion
FdCls.Disconnect();
|
|
|
- Générez votre application.
- Cliquez sur le bouton.
- Si tout se passe bien, vous venez de supprimer tous les livres de l'auteur "Erwan
Riso"
|